嘗試將 JSON 資料從 Firebase讀取到Java對象使用getValue(User.class),報錯發生:
Exception in thread "FirebaseEventTarget" com.firebase.client.FirebaseException: Failed to bounce to type
要解決此錯誤並成功將JSON 反序列化為Java 對象,請按照以下步驟操作:
使用Jackson 進行序列化與反序列化
Firebase 使用 Jackson 進行序列化和反序列化。確保您的 Java 類別與 JSON 結構相符。
建立一個模仿 JSON 結構的 Java 類別
建立一個 Java 類,其欄位與JSON。使用 JavaBean 屬性進行自動對應。
處理部分載入
如果您的Java 類別不包含JSON 中的所有屬性,請使用@JsonIgnoreProperties 註解忽略特定屬性屬性或設定ignoreUnknown = true@JsonIgnoreProperties 註解忽略特定屬性屬性或將ignoreUnknown = true未知屬性。
處理部分保存
將 Java 物件儲存回 Firebase 時,請注意 Jackson 可能會新增原始 JSON 中不存在的屬性。在 getter 方法上使用 @JsonIgnore 註解可以防止這種情況。
範例:
@JsonIgnoreProperties({ "stackId" }) private static class User { String handle; String name; public String getHandle() { return handle; } public String getName() { return name; } @JsonIgnore public String getDisplayName() { return getName() + " (puf)"; } }
透過執行下列步驟,您可以成功地將JSON 從Firebase 反序列化為Java 對象,而無需遇到「無法跳至鍵入”錯誤。
以上是將 Firebase JSON 轉換為 Java 物件時如何修復「無法反彈到類型」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!