ホームページ >Java >&#&チュートリアル >Jackson が Null フィールドをシリアル化しないようにするにはどうすればよいですか?
Jackson による Null フィールドのシリアル化のスキップ
Jackson は、Null 値を持つフィールドのシリアル化を抑制するいくつかの方法を提供します。これは、シリアル化されたデータのサイズを削減したり、特定のフィールドが外部に公開されないようにする場合に役立ちます。
ObjectMapper の構成
Jackson が null を無視するようにグローバルに構成するには値を使用するには、ObjectMapper の SerializationInclusion プロパティを設定できます。
mapper.setSerializationInclusion(Include.NON_NULL);
これにより、 Jackson はシリアル化中に null 値を持つフィールドをスキップします。
@JsonInclude アノテーションを使用する
個々のフィールドについて、@JsonInclude アノテーションを使用して null 値を制御できます。値は次のように処理されます:
class SomeClass { @JsonInclude(Include.NON_NULL) private String someValue; }
このアノテーションを使用すると、someValue フィールドはnull でない場合はシリアル化されます。
Getter で @JsonInclude を使用する
または、Getter メソッドで @JsonInclude を使用して、値に基づいてフィールドを選択的に除外することもできます。
class SomeClass { private String someValue; @JsonInclude(value=Include.NON_NULL, content=Include.ALWAYS) public String getSomeValue() { return someValue; } }
この例では、someValue フィールドは次の場合にシリアル化から除外されます。これは null ですが、null でない場合は、空の文字列であっても含められます。
以上がJackson が Null フィールドをシリアル化しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。