加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:47:59 所属栏目:Java 来源:网络整理
导读:在例子中 Class Person{ String name; int age;} 如果json对象的缺少属性“age”, { name : John}Person person = objectMapper.readValue(jsonFileReader,Person.class); 它会抛出一个JsonMappingException,表示它不能反序列化.在反序列化期间是否有注释忽
在例子中
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默认值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读