我正在使用 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._suppressableValueequals Boolean(false),所以当一个错误的布尔值到达这个块时,它只是返回并且不返回任何输出。
我有哪些选择?我可以将属性的写入器配置为取消设置_suppressableValue吗?什么是最简单和更简单的解决方案?