ホームページ >Java >&#&チュートリアル >Jackson を使用して Firebase JSON を Java オブジェクトにマッピングすると「タイプへのバウンスに失敗しました」エラーが発生するのはなぜですか?
このエラーは次のときに発生します。 Jackson ライブラリを使用した Firebase JSON の Java オブジェクトへの変換。これは、Jackson が JSON プロパティを Java クラスにマップできないことを示しています。
まず、Java クラスのプロパティが一致していることを確認します。大文字と小文字の区別も含めて、JSON プロパティ名と完全に一致します。さらに、各プロパティにパブリック ゲッターが存在する必要があります。
Java クラスにすべての JSON プロパティのマッピングが含まれていない場合は、@JsonIgnoreProperties アノテーションを使用して特定のプロパティを無視できます。変換中。
Java クラスに含めたいが、JSON にシリアル化して戻さないプロパティについては、 @JsonIgnore 注釈を使用して、無視する必要があることを示すことができます。
次の Firebase JSON 構造を考えてみましょう:
{ "users": { "-Jx5vuRqItEF-7kAgVWy": { "handle": "puf", "name": "Frank van Puffelen", "soId": 209103 } } }
この JSON を Java オブジェクトに変換するには、次のクラスを定義します:
private static class User { private String handle; private String name; public String getHandle() { return handle; } public String getName() { return name; } }
soId プロパティを無視する @JsonIgnoreProperties アノテーションを追加すると、コードは次のようになります:
@JsonIgnoreProperties({"soId"}) private static class User { private String handle; private String name; public String getHandle() { return handle; } public String getName() { return name; } }
または、一致しないプロパティを完全に無視するには、次のアノテーション:
@JsonIgnoreProperties(ignoreUnknown = true) private static class User { ... }
これにより、Jackson は、そうでない JSON 内のプロパティを無視できるようになります。対応する Java クラス プロパティがあります。
以上がJackson を使用して Firebase JSON を Java オブジェクトにマッピングすると「タイプへのバウンスに失敗しました」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。