Jackson を使用してデータをシリアル化する場合、出力に Null 値が含まれることが望ましくない場合があります。この記事では、シリアル化中に null 値を持つフィールドを無視するように Jackson を設定する方法について説明し、Jackson の 2.0 以降のバージョンとそれ以前のバージョンの両方に対する解決策を提供します。
null 値がJackson バージョン 2.0 以降でシリアル化されている場合は、setSerializationInclusion を使用して ObjectMapper を直接設定できます。メソッド:
mapper.setSerializationInclusion(Include.NON_NULL);
Jackson の以前のバージョンでは、@JsonInclude アノテーションを使用して特定のフィールドの包含ルールを指定できます:
@JsonInclude(Include.NON_NULL) class Foo { String bar; }
代わりに、次のようにすることもできますゲッター メソッドの @JsonInclude アノテーションを使用して、シリアル化された出力にフィールドが含まれるかどうかを制御します。
class Foo { String bar; @JsonInclude(Include.NON_NULL) public String getBar() { return bar; } }
このアプローチにより、シリアル化動作の制御を維持でき、null 値のみが含まれることが保証されます。明示的に必要な場合。
以上がJackson でシリアル化するときに Null フィールドを無視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。