如何使用Firebase 1.0.2忽略对象模型的新字段
问题内容:
我使用的最后一个版本,此刻火力地堡的依赖,这是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)
查看依赖关系树,我发现Firebase使用的是Jackson映射器1.9.7,因此注释`@JsonIgnoreProperties(ignoreUnknown
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
。