Jackson と JSON: 認識できないフィールドでのエラー処理
この問題は、Jackson がマップしようとする認識できないプロパティ「ラッパー」に遭遇したときに発生します。ラッパークラスに。フィールドがターゲット クラスで定義されていないため、「UnrecognizedPropertyException」で失敗します。
解決策
この問題を解決するには、Jackson の JsonIgnoreProperties アノテーションを利用します。このアノテーションをクラス レベルで適用して、認識されないプロパティを無視するように指定できます。デフォルトでは、POJO で明示的に定義されていないプロパティは無視されます。
このアノテーションの使用例:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties class Wrapper { ... }
このアノテーションにより、対応しない JSON 内のプロパティはすべて無視されます。 Wrapper クラスで定義されたフィールドは、逆シリアル化中にスキップされます。
詳細オプション
ゲッターとセッターを含むすべての未宣言のプロパティを無視したい場合ターゲット クラスで定義されたメソッドでは、ignoreUnknown フラグを使用できます。
@JsonIgnoreProperties(ignoreUnknown = true) class Wrapper { ... }
ignoreUnknown = true を指定すると、Jackson は、Wrapper クラスに対応するフィールドがない JSON 内のプロパティを無視します。 getter メソッドまたは setter メソッドの存在。
以上がJackson JSON 逆シリアル化で認識されないフィールドを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。