Jackson シリアル化中に Null フィールド値を抑制するにはどうすればよいですか?
Dec 17, 2024 pm 05:23 PMJackson シリアル化での Null フィールド値の処理
人気のある Java シリアル化ライブラリである Jackson は、シリアル化動作を調整するためのさまざまな構成オプションを提供します。一般的なシナリオの 1 つは、null のフィールド値のシリアル化を抑制することです。これにより、シリアル化された出力には null 以外のプロパティのみが含まれるようになります。
Null 値抑制のための Jackson の構成
Jackson に null を無視するよう指示するには、主に 2 つの方法があります。シリアル化中のフィールド値。
1. SerializationInclusion の使用:
ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
このグローバル構成は、ObjectMapper によって処理されるすべてのクラスのすべてのフィールドに適用されます。これにより、Null 値を持つフィールドはシリアル化された出力から確実に省略されます。
2. @JsonInclude アノテーションの使用:
@JsonInclude(Include.NON_NULL) public class SomeClass { private String someValue; }
@JsonInclude アノテーションをクラスまたはゲッター メソッドに適用すると、特定のプロパティまたはサブクラスのシリアル化動作を指定できます。 Include.NON_NULL を設定すると、そのフィールドの null 以外の値のみをシリアル化する必要があることが示されます。
代替アプローチ
または、@JsonInclude アノテーションを使用できます。特定のプロパティの getter メソッドで、値がそうでない場合にのみプロパティを条件付きでシリアル化します。 null.
@JsonInclude(value = JsonInclude.Include.NON_NULL, condition = JsonInclude.Include.Condition.NON_NULL) public String getSomeValue() { return someValue; }
追加の考慮事項
これらの構成は逆シリアル化プロセスに影響を与えないことに注意してください。逆シリアル化中に null 値が発生した場合でも、対応するフィールドに null 値が設定されます。逆シリアル化の動作を制御するには、Jackson のドキュメントの @JsonIgnoreProperties および @JsonIgnore を参照してください。
以上がJackson シリアル化中に Null フィールド値を抑制するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正
