这个注解在将实体类进行json序列化和反序列化时可以将无法映射的属性忽略,针对的时jackson。如果时fastjson则不存在这个问题,会自动给忽略不存在的属性
例:
1、引入jar包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
2、新建一个实体类
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class AreaParam {
private long id;
private String area_name;
private String area_comments;
private String status;
private Timestamp create_time;
private Timestamp update_time;
}
3、编写测试类
String jsonStr="{\n" + "\"id\":\"1\",\n"+ "\"status\":\"I\",\n"+ "\"comment\":\"aaaaa\",\n"+
" \"area_name\": \"a\",\n" +
" \"area_comments\": \"字母字符\",\n" +
" \"create_time\": \"2023-02-24T03:06:14.000+0000\",\n" +
" \"update_time\": \"2023-02-24T03:06:14.000+0000\"\n" +
" }";
//AreaParam areaParam = JSONObject.parseObject(jsonStr, AreaParam.class);
ObjectMapper objectMapper=new ObjectMapper();
AreaParam areaParam =objectMapper.readValue(jsonStr, AreaParam.class);
System.out.println(areaParam.toString());
以上json字符串比实体类多了一个“comment”属性,转换时如果没有添加@JsonIgnoreproperties(ignoreUnknown = true)则会报错,无法解析的filed属性,comment,加上之后正常反序列化
文章出处登录后可见!
已经登录?立即刷新