我正在使用 Fasterxml Jackson 2.2.2
我有一个带有boolean
(原始)属性的简单 pojo。当默认BeanSerializer
并BeanPropertyWritter
尝试对其进行序列化时,该属性的值为 时会被跳过false
。
我想:
{"id":1, "enabled":false}
我得到的是:
{"id":1}
中的代码BeanPropertyWritter
是:
// and then see if we must suppress certain values (default, empty)
if (_suppressableValue != null) {
if (MARKER_FOR_EMPTY == _suppressableValue) {
if (ser.isEmpty(value)) {
return;
}
} else if (_suppressableValue.equals(value)) {
return;
}
}
我已经调试过它,发现BeanPropertyWritter._suppressableValue
equals Boolean(false)
,所以当一个错误的布尔值到达这个块时,它只是返回并且不返回任何输出。
我有哪些选择?我可以将属性的写入器配置为取消设置_suppressableValue
吗?什么是最简单和更简单的解决方案?