「タイプへのバウンスに失敗しました」エラーが発生した場合に Firebase JSON を Java オブジェクトに変換する方法

Susan Sarandon
リリース: 2024-11-15 14:56:03
オリジナル
680 人が閲覧しました

How to Convert Firebase JSON to Java Objects When Encountering

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート