繁体   English   中英

JSON序列化的Jackson Java对象不包含空字段

[英]Jackson java object to json serialization is not including null fields

我有两个Java Bean,如下所示:

public class Class1 {
   private String field1;
   private Object field2;
   //getter and setter
}
public class Class2 {
  private Map<String,Object> field;
  //getter and setter
}

当对象被序列化为Json时,它看起来像这样:

类别1:当field2为空时

{
   field1:"value"
}

Class2:当map的值为null时

{
   field:{"key":null}
}

我的问题是两者之间有什么区别? 为什么对于Class1,它在json中不包含null字段? 如何在Class1的json中包含空字段? 我尝试了以下方法,但是没有用:

@JsonInclude(JsonInclude.Include.ALWAYS)
public class Class1 {
   private String field1;
   private Object field2;
   //getter and setter
}  

甚至在现场层面尝试过:

public class Class1 {
   private String field1;
   @JsonInclude(JsonInclude.Include.ALWAYS)
   private Object field2;
   //getter and setter
}

我正在使用泽西岛。

以下是杰克逊的示例:

ObjectMapper mapper = new ObjectMapper();
Class1 class1 = new Main().new Class1();
System.out.println(mapper.writeValueAsString(class1));

输出为:

{ “字段1”:空, “字段2”:空}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM