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

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

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

  1. {
  2. name : John
  3. }
  4.  
  5. Person person = objectMapper.readValue(jsonFileReader,Person.class);

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

谢谢

解决方法

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

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

  1. @JsonInclude(Include.NON_NULL)
  2. public class Person {
  3. ...
  4. }

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

猜你在找的Java相关文章