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

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

Linda Hamilton
リリース: 2024-12-18 07:04:11
オリジナル
688 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート