ホームページ >Java >&#&チュートリアル >Jackson は進化する JSON オブジェクトの未知のフィールドをどのように無視できるのでしょうか?

Jackson は進化する JSON オブジェクトの未知のフィールドをどのように無視できるのでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-27 11:14:10889ブラウズ

How Can Jackson Ignore Unknown Fields in Evolving JSON Objects?

Jackson による進化する JSON オブジェクトの克服: 未知のフィールドの無視

変更される可能性のある JSON データを扱う場合、その処理が課題になります既存の POJO クラスの整合性を維持しながら、新しいフィールドを追加します。有名な JSON ライブラリである Jackson は、この苦境に対する便利な解決策を提供します。

質問: JSON オブジェクトに新しく追加されたフィールドを無視して、進化する JSON 構造との互換性を確保するように Jackson をカスタマイズするにはどうすればよいですか?

答え:

ジャクソンは、 @JsonIgnoreProperties と呼ばれるアノテーションは、この問題に対処するために特別に設計されました。このアノテーションをクラス レベルで追加すると、シリアル化および逆シリアル化中に発生した未知のフィールドを無視するように Jackson に指示できます。

このソリューションを実装するには:

  1. 適切な Jackson アノテーションをインポートします:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  1. を適用しますPOJO クラスへの @JsonIgnoreProperties アノテーション:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
    ...
}

ignoreUnknown = true を指定すると、Jackson は対応する POJO クラスに存在しない JSON オブジェクト内のフィールドを無視できるようになります。これにより、JSON 構造が新しい追加によって進化しても、アプリケーションは機能し続けることができます。

以上がJackson は進化する JSON オブジェクトの未知のフィールドをどのように無視できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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