当前位置: 首页 > 面试题库 >

如何使用Firebase 1.0.2忽略对象模型的新字段

时恩
2023-03-14
问题内容

我使用的最后一个版本,此刻火力地堡的依赖,这是1.0.2的,我有问题,到让我的POJO的正确分析。

问题是,架构随时都可以更改,但我不希望我的应用程序崩溃:

D / AndroidRuntime(14097):关闭VM W / dalvikvm(14097):threadid =
1:线程退出且未捕获到异常(group = 0x40a451f8)E / AndroidRuntime(14097):FATAL
EXCEPTION:main E / AndroidRuntime(14097):com
.firebase.client.FirebaseException:无法反弹以键入E /
AndroidRuntime(14097):com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:213)

true”)不是一个选项。此外,对象映射器被包装到此Firebase对象中,因此我无法配置该DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES属性(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES`对于Jackson
1.9及更高版本)。

是否有任何方法可以将此属性设置为类级别的注释或配置映射器或任何其他机制?

最好的解决方案是Firebase 1.0.3开始使用Jackson 2.0,但是不知道这是否是他们现在所关心的。

注意:我已经考虑过排除传递性的Jackson 1.9.7依赖项并添加Jackson
2.0,以便我可以访问此ignoreUnknown功能,但是我认为这不是一个可行的选择,因为我将更改市长版本。


问题答案:

Firebase 1.0.3已发布,现在使用Jackson 2.2.2,因此注释@JsonIgnore是必经之路。

编辑:截至2017年,Firebase不再使用Jackson。正确的注释是@Exclude



 类似资料:
  • 问题内容: 我正在使用Jackson JSON库将一些JSON对象转换为android应用程序上的POJO类。问题是,JSON对象可能会更改,并且在发布应用程序时会添加新字段,但是即使添加简单的String字段(即使可以安全地忽略),当前它也会中断。 有什么办法告诉杰克逊忽略新添加的字段?(例如,在POJO对象上不存在)?全局忽略将是巨大的。 问题答案: Jackson提供了可以在类级别使用的注释

  • 问题内容: 我正在一个实体框架项目。我想序列化一堆实体类实例。我将它们绑定到一个容器类中: Etcetera …这是我尝试序列化的此类的一个实例。我希望JSON.NET序列化每个实际上是基础数据库中的列的每个实体类实例的成员。我甚至不想尝试序列化对象引用。 特别是,我的实体类具有虚拟成员,这些成员使我能够编写可导航所有实体关系的C#代码,而不必担心实际的键值,联接等问题,并且我希望JSON.NET

  • 我使用jackson 2. x进行序列化和反序列化。我注册了对象映射器到后燃烧器模块,并配置对象映射器忽略未知属性 但是当它试图序列化一个对象时,它失败了,因为属性错误找到了未知的字段 java对象还带有@JsonIgnoreProperties注释(ignoreUnknown=true) 有人能帮我理解可能出了什么问题吗 下面是Util类 枚举类编号 甲级 我反序列化的代码如下所示 我试图反序列

  • 我正在使用Swashback为webapi2项目生成swagger documentation\UI。我们的模型与一些遗留接口共享,因此我想忽略模型上的几个属性。我不能使用JsonIgnore属性,因为遗留接口还需要序列化为JSON,所以我不想全局忽略属性,只是在Swashback配置中。 我在这里找到了这样做的方法: https://github.com/domaindrivendev/Swas

  • 我正在与AngularJS项目工作,我有以下问题。我有个密码: form.html: 使用这段代码,someVariable不会显示,但当我将ng-model更改为someVariable.SomeField时,我试图显示它...管用!有人能解释一下为什么吗?

  • 问题内容: 我有一个JSON对象,例如: 要么 要么 等等 我正在尝试将上述JSON映射到: 上面的映射工作正常,但是将来会有更多的“ Grade”类型让我们说D,E等,这会破坏现有的映射并引发以下异常 有没有办法忽略带有枚举类型的未知字段? 谢谢 问题答案: 我认为您应该为枚举定义外部解串器。 我在枚举中添加了其他字段-未知: 现在,解析器可能看起来像这样: 用法示例: 输出: 如果您不想添加其