ホームページ >Java >&#&チュートリアル >Jackson が Null フィールドをシリアル化しないようにするにはどうすればよいですか?

Jackson が Null フィールドをシリアル化しないようにするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-18 07:04:11624ブラウズ

How Can I Prevent Jackson from Serializing Null Fields?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。