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
equalsBoolean(false)
であることを発見したので、偽のブール値がこのブロックに到着すると、単に戻り、出力は返されません。
私のオプションは何ですか?属性のライターを構成して、その設定を解除できます_suppressableValue
か? 最も簡単でシンプルな解決策は何ですか?