我正在尝试从我的json中删除所有空值。
{
"key" : null
}
我用过:
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
这里“key”是一个列表,所以当我使用上面的序列化选项时,json会转换为:
{
"key" : []
}
我希望json成为:
{
}
我不想使用
Include.NON_EMPTY
因为我在我的项目中有其他json,我需要显示空列表和0值键。当它是一个列表时,有没有办法删除空值键,就像它对字符串值一样?
我无法使用注释,因为使用jaxb从xml生成类文件。班级结构:
public class C1 {
protected List<C2> key;
public List<C2> getKey() {
if (key == null) {
key = new ArrayList<C2>();
}
return this.key;
}
}
我已经被困了一段时间了。任何帮助都非常感谢。提前谢谢。
答案 0 :(得分:4)
禁止使用null
值序列化属性
您可以直接使用此配置ObjectMapper
。
mapper.setSerializationInclusion(Include.NON_NULL);