目的:都是为了解决json字符串的某些属性名和JavaBean中的属性名匹配不上的问题。

  • JsonProperty
public class User {
	@JsonProperty("JsonPropertyName")
	private String name;
	private String sex;
	private Integer age;
	//get/setter与tostring正常字段名:name、sex、age
}
@Test
public void testJsonProperty() throws IOException{
    User user=new User("shiyu","man",22);
    System.out.println(new ObjectMapper().writeValueAsString(user));
    String str="{\"sex\":\"man\",\"age\":22,\"JsonPropertyName\":\"shiyu\"}";
    System.out.println(new ObjectMapper().readValue(str,User.class).toString());
}

输出:
{"sex":"man","age":22,"JsonPropertyName":"shiyu"}
User [name=shiyu, sex=man, age=22]
  • JSONField
public class User {
	@JSONField(name="JSONFieldName")
	private String name;
	private String sex;
	private Integer age;
 	//get/setter与tostring正常字段名:name、sex、age
}
@Test
public void testSONField(){
    User user=new User("shiyu","man",22);
    System.out.println(JSON.toJSONString(user));
    String str="{\"JSONFieldName\":\"shiyu\",\"age\":22,\"sex\":\"man\"}";
    System.out.println(JSON.parseObject(str, User.class).toString());	
}

输出
{"JSONFieldName":"shiyu","age":22,"sex":"man"}
User [name=shiyu, sex=man, age=22]