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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-12-15 04:21:10604ブラウズ

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

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