@JsonProperty与@JSONField注解用处

目的:都是为了解决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]
      

猜你喜欢

转载自blog.csdn.net/A_yonga/article/details/124396738
今日推荐