【发布时间】:2020-09-14 23:36:44
【问题描述】:
我在 Java Pojo 类中有一个 List。该列表包含一些 MyChildPojo 对象,这些对象不为空,但可以具有具有空值的属性。示例:
MyChildPojo obj1 = new MyChildPojo();
MyChildPojo obj2 = new MyChildPojo();
我在 MyChildPojo 类中添加了@JsonInclude(JsonInclude.Include.NON_EMPTY),因此在序列化对象时不会添加空属性。
现在我对 List 对象的最终序列化输出是:
[
{}, {}
]
在这种情况下,我想删除完整的 List 对象。我尝试在 List 对象上添加 @JsonInclude(JsonInclude.Include.NON_EMPTY) 和 @JsonInclude(value = Include.NON_EMPTY, content = Include.NON_EMPTY) 但仍然得到相同的输出。
我只能在我的情况下使用注释。有没有办法做到这一点?
【问题讨论】:
-
这能回答你的问题吗? Don't return property when it's an empty list with jackson。你说的是“只有注解”,但是如果你可以添加一个注解,我想你应该也可以设置
WRITE_EMPTY_JSON_ARRAYS属性。 -
感谢您的建议。它与我的用例非常相似。但就我而言,它是 [{}, {}] 而不是 []。所以它不会起作用。
标签: java serialization jackson json-deserialization jackson2