首页 >Java >java教程 >将 Firebase JSON 转换为 Java 对象时如何修复'无法反弹到类型”错误?

将 Firebase JSON 转换为 Java 对象时如何修复'无法反弹到类型”错误?

Susan Sarandon
Susan Sarandon原创
2024-11-20 01:50:01924浏览

How to Fix

将 JSON 从 Firebase 转换为 Java 对象时出现“无法跳至类型”错误

问题

尝试将 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn