我想从我的json中删除所有的空值。使用jackson从json中删除空值
{
"key" : null
}
我用:
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
这里的 “钥匙” 是列表,所以当我用上面的序列化选项,JSON被转换为:
{
"key" : []
}
我想json为:
{
}
我d不想使用
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;
}
}
我一直坚持了一会儿。任何帮助,高度赞赏。提前致谢。
你有没有尝试过使用类之上的注释。 @ user145078 –
在我们的生产环境中,我们使用jaxb将xml转换为pojo,所以我没有任何对创建的java文件的控制权,并且不能使用注释@VikrantKashyap – user145078
,那么您已经编写了一个自定义的NullSerializer以避免那个'key'序列化对象。 @User –