ホームページ >Java >&#&チュートリアル >Jackson は逆シリアル化中に JSON オブジェクトの新しいフィールドをどのように無視できますか?
JSON オブジェクトは変更されることが多く、Jackson などのライブラリを使用して POJO に変換するとエラーが発生する可能性があります。クラス。 Jackson は、JSON オブジェクトに新しく追加されたフィールドを無視する方法を提供する人気の JSON 処理ライブラリです。
JSON オブジェクトに、対応する POJO クラスに存在しない追加フィールドがある場合, ジャクソンはオブジェクトの変換に失敗します。これは、新しいフィールドがオプションで無視しても安全な場合でも発生する可能性があります。
Jackson は、不明なプロパティを無視するためにクラスに適用できる @JsonIgnoreProperties アノテーションを提供しています。逆シリアル化中。このアノテーションをignoreUnknown = trueとともに使用すると、JacksonはPOJOクラスに存在しないすべてのプロパティを無視します。
@JsonIgnorePropertiesを使用するには、単に次のアノテーションをPOJOクラスの先頭に追加します。
@JsonIgnoreProperties(ignoreUnknown = true) public class Foo { // Class fields }
Jackson のバージョンに応じて、を使用している場合は、@JsonIgnoreProperties の正しいクラスをインポートする必要があります:
Jackson 2.x の場合:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
Jackson 1.x の場合:
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
を使用して@JsonIgnoreProperties を使用すると、JSON オブジェクトに新しいフィールドが含まれるときに Jackson が壊れるのを防ぐことができます。このアノテーションは、進化する JSON スキーマを処理し、JSON オブジェクトが変更されてもコードが安定した状態を保つためのシンプルかつ効果的な方法を提供します。
以上がJackson は逆シリアル化中に JSON オブジェクトの新しいフィールドをどのように無視できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。