我正在与杰克逊 2 和 CXF 合作。
我进行了大量研究,以找到一种干净且安全的方法来从共享对象映射器中获取写入器对象,该映射器提供给 CXF 用于取消/编组 JSON。由于某些业务逻辑,我不能只使用注释或将映射器对象设置为在序列化时忽略空字段。
下面的代码似乎很正确,但是输出的 JSON 仍然包含空字段。请帮忙 !!
ObjectWriter writer = this.jacksonMapper.writer().without( SerializationFeature.WRITE_NULL_MAP_VALUES ) ;
if( writer.isEnabled( SerializationFeature.WRITE_NULL_MAP_VALUES ) ) {
System.out.println("Oppa gangname style");
}
String json = null;
try {
json = writer.writeValueAsString( myObject );
System.out.println ( json ) ;
} catch (JsonProcessingException e) {
throw new RuntimeException() ;
}
if 案例验证我已成功禁用 SerializationFeature.WRITE_NULL_MAP_VALUES。但是,结果仍然是包含空字段。