Java 如何使ObjectMapper跳过空对象的序列化?
原因是我的对象的消费者是一个可怜的、遗留的消费者,他们遭受空对象的折磨,并抛出Java 如何使ObjectMapper跳过空对象的序列化?,java,serialization,jackson,objectmapper,Java,Serialization,Jackson,Objectmapper,原因是我的对象的消费者是一个可怜的、遗留的消费者,他们遭受空对象的折磨,并抛出NPEs,解决这个问题的唯一方法就是在我这边解决问题 我的应用程序需要跳过空对象的序列化 class TopObject { NestedObject1 object1; NestedObject2 object2; } 默认情况下,如果object1和object2都为空,则ObjectMapper将toobject序列化为{}。相反,我必须从序列化中排除对象 请注意 objectMapper.setSer
NPE
s,解决这个问题的唯一方法就是在我这边解决问题
我的应用程序需要跳过空对象的序列化
class TopObject {
NestedObject1 object1;
NestedObject2 object2;
}
默认情况下,如果object1
和object2
都为空,则ObjectMapper
将toobject
序列化为{}
。相反,我必须从序列化中排除对象
请注意
objectMapper.setSerializationInclusion(Include.NON_NULL);
objectMapper.setSerializationInclusion(Include.NON_EMPTY);
在这种情况下不要帮忙
我认为必须有一个相对简单的解决办法
您能帮我整理一下吗?为什么不能使用Include.NON\u NULL/Include.NON\u EMPTY?它们不适用于内存,或者对象可以由非NULL的嵌套对象组成为什么不在序列化之前过滤掉元素?您希望将关键信息/逻辑委托给JSON映射器,一个简单的
objects.filter(TopObject::isNotEmpty)
可以更清楚地了解正在发生的事情,并允许您为其他开发人员留下评论,说明您为什么要这样做