Firebase JSON を Java オブジェクトに変換できません
Firebase データベースには、ユーザー データを含む JSON 構造が含まれています。 Java クラス User を使用して、この JSON を Java オブジェクトに変換しようとしていますが、「入力にバウンスできませんでした」エラーが発生しました。
エラーについて
このエラーは、Firebase でシリアル化と逆シリアル化に使用されるライブラリである Jackson で、JSON データを Java にマッピングする際に問題が発生したことを示します。 class.
解決策: 完全なオブジェクト マッピング
1 つの方法は、JSON 内のプロパティと完全に一致する Java クラス (ユーザー) を作成することです。これは、フィールド handle、name、stackId を持つ User クラスを作成することを意味します。このアプローチを使用すると、Jackson は JSON プロパティを Java クラス プロパティに自動的にマッピングできます。
オブジェクトの部分的な読み込み
ユーザー データのサブセットのみが必要な場合は、次のようになります。ハンドルと名前として、stackId を省略した User クラスを作成できます。ただし、@JsonIgnoreProperties アノテーションを使用して、JSON 内の欠落しているプロパティを無視するように Jackson に指示する必要があります。
オブジェクトの部分的な保存
また、問題が発生する可能性があります。 Java クラスに JSON に反映されない追加メソッドがある場合は、オブジェクトを Firebase に保存するときに発生します。 Jackson がこれらのメソッドをシリアル化しないようにするには、@JsonIgnore でアノテーションを付けます。
コード サンプル: Jackson アノテーションを使用した部分読み込み
@JsonIgnoreProperties({ "stackId" }) private static class User { String handle; String name; public String getHandle() { return handle; } public String getName() { return name; } @Override public String toString() { return "User{handle='" + handle + "', name='" + name + "'}"; } }
以上が「タイプへのバウンスに失敗しました」エラーが発生した場合に Firebase JSON を Java オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。