Java 如何在使用Jackson将对象转换为JSON时不使用默认值对布尔属性进行marshall处理

Java 如何在使用Jackson将对象转换为JSON时不使用默认值对布尔属性进行marshall处理,java,json,jackson,Java,Json,Jackson,使用mapper.setSerializationInclusion(Include.NON_DEFAULT)不会对任何具有默认值的属性进行马歇尔处理,但在这种情况下,我需要在JSON响应中使用具有默认值的int属性 我的一个想法是,编写一个自定义序列化程序,而不仅仅是使用默认值处理布尔属性。还有其他方法吗 mapper.setSerializationInclusion(Include.NON_DEFAULT) 进行上述配置将排除具有默认值的字段,即使您显式设置了这些字段,因为无法检查值是默

使用
mapper.setSerializationInclusion(Include.NON_DEFAULT)
不会对任何具有默认值的属性进行马歇尔处理,但在这种情况下,我需要在JSON响应中使用具有默认值的int属性

我的一个想法是,编写一个自定义序列化程序,而不仅仅是使用默认值处理布尔属性。还有其他方法吗

mapper.setSerializationInclusion(Include.NON_DEFAULT)
进行上述配置将排除具有默认值的字段,即使您显式设置了这些字段,因为无法检查值是默认分配的还是显式分配的


与您的情况一样,您只需要排除具有默认值的布尔字段,最好的方法是使用布尔类而不是布尔基元,并保持空序列化处于禁用状态,以便它不会被封送。

感谢您的响应。然而,响应是来自下游服务的数据驱动的。在对象中设置值,而不考虑false。如果值为false,则不设置值将是额外的计算。还有其他办法吗。