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