尝试将 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忽略所有未知属性。
处理部分保存
将 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中文网其他相关文章!