我有一个带有字段的类,其类型为List<String>
。
我想在序列化时忽略空列表,以便该字段不显示在我的json中。但是当反序列化时,我希望它的空列表将包含在我的java对象中。
@JsonInclude(Include.NON_EMPTY)
在两种情况下都将忽略它。我应该写一个自定义的serializDifferenter吗?最好的方法是什么?
答案 0 :(得分:0)
为什么不只将Java对象中的List<String>
初始化为空的ArrayList<String>
,就是这样:
public class JsonTestObject implements Serializable {
private String propertyOne = null;
private Integer intProperty = 0;
@JsonInclude(Include.NON_EMPTY)
private List<String> stringList = new ArrayList<String>();
}
使用空List进行序列化将产生这种json:
{"propertyOne":"aaaaa","intProperty":1000}
在此json示例进行反序列化后,List<String>
将被初始化为一个空列表