ホームページ > Java > &#&チュートリアル > Jackson でオブジェクトをシリアル化するときに Null 値をスキップするにはどうすればよいですか?

Jackson でオブジェクトをシリアル化するときに Null 値をスキップするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-15 04:21:10
オリジナル
601 人が閲覧しました

How Can I Skip Null Values When Serializing Objects with Jackson?

Jackson: シリアル化中の Null 値のスキップ

Jackson を使用してオブジェクトをシリアル化する場合、データを最適化するために Null 値を持つフィールドを除外することが望ましい場合があります。サイズを変更し、可読性を向上させます。この目的を達成するために、Jackson はこの動作を実現する 2 つの方法を提供しています。

1.グローバル構成:

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

//...

ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false); // disable serialization of null values
ログイン後にコピー

この設定は、ObjectMapper インスタンスによって実行されるすべてのシリアル化操作にグローバルに適用されます。

2. @JsonInclude アノテーション:

@JsonInclude アノテーションを特定のフィールドまたはクラスに適用して、シリアル化動作をカスタマイズできます。例:

import com.fasterxml.jackson.annotation.JsonInclude;

//...

@JsonInclude(JsonInclude.Include.NON_NULL)
public class SomeClass {
    private String someValue;
}
ログイン後にコピー

このアノテーションは、値が null の場合、someValue フィールドをシリアル化から除外するように Jackson に指示します。

あるいは、 @JsonInclude アノテーションを、 field:

import com.fasterxml.jackson.annotation.JsonInclude;

//...

public class SomeClass {
    private String someValue;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getSomeValue() {
        return someValue;
    }
}
ログイン後にコピー

このアプローチでは、フィールドの値がそうでない場合にのみフィールドをシリアル化できます。 null。

以上がJackson でオブジェクトをシリアル化するときに Null 値をスキップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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