小编use*_*078的帖子

使用 Jackson 从 json 中删除空值

我正在尝试从 json 中删除所有空值。

{
   "key" : null
}
Run Code Online (Sandbox Code Playgroud)

我用过了:

ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
Run Code Online (Sandbox Code Playgroud)

这里的“key”是一个列表,所以当我使用上面的序列化选项时,json 会转换为:

{
   "key" : []
}
Run Code Online (Sandbox Code Playgroud)

我希望 json 为:

{
}
Run Code Online (Sandbox Code Playgroud)

我不想使用

Include.NON_EMPTY
Run Code Online (Sandbox Code Playgroud)

因为我的项目中有其他 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;
}

}
Run Code Online (Sandbox Code Playgroud)

我已经被困了一段时间了。非常感谢任何帮助。提前致谢。

java json jackson jersey-2.0

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

jackson ×1

java ×1

jersey-2.0 ×1

json ×1