ホームページ >Java >&#&チュートリアル >Jackson を使用して JSON をポリモーフィック型に逆シリアル化する方法: 「直接マッピングできない」コンパイル エラーを解決する?
Jackson の ObjectMapper を使用して多態性 JSON を逆シリアル化するときにコンパイル エラーを解決しようとすると、原因は次のとおりです。 readValue() メソッドの型の不一致
問題のある行は次のとおりです:
汎用の readValue() メソッドは 2 番目のパラメータとして TypeReference または Class を予期しますが、animalClass は Class のインスタンスです このエラーを解決し、ポリモーフィックな逆シリアル化を可能にするために、Jackson の JSON アノテーションを利用できます。このアプローチでは、@JsonTypeInfo、@JsonSubTypes、および @JsonIgnoreProperties アノテーションが使用されます。 Animal クラスとそのサブクラスを次のように変更します。 これらのアノテーションを使用すると、Jackson は多態性 JSON データを適切なサブクラスに適切に逆シリアル化できるようになりました。修正された readValue() 行は次のようになります: 以上がJackson を使用して JSON をポリモーフィック型に逆シリアル化する方法: 「直接マッピングできない」コンパイル エラーを解決する?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。アノテーションを使用した解決策:
Animal Class:
犬と猫サブクラス: