在java中忽略jackson json反序列化时忽略属性

前端之家收集整理的这篇文章主要介绍了在java中忽略jackson json反序列化时忽略属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在例子中
Class Person{
   String name;
   int age;
}

如果json对象的缺少属性“age”,

{
  name : John
}

Person person = objectMapper.readValue(jsonFileReader,Person.class);

它会抛出一个JsonMappingException,表示它不能反序列化.在反序列化期间是否有注释忽略缺少的字段?

谢谢

解决方法

我想你想要的是
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class Person {
  ...
}

那是Jackson 1.x的方式.我认为在2.x中有一种新的方式.就像是

@JsonInclude(Include.NON_NULL)
public class Person {
  ...
}

这些将告诉杰克逊只能序列化不为null的值,并且在反序列化缺少值时不要抱怨.我认为它只会将其设置为Java默认值.

猜你在找的Java相关文章