gpt4 book ai didi

android - Firestore 自定义 `toObject` 反序列化

转载 作者:行者123 更新时间:2023-11-29 02:33:17 26 4
gpt4 key购买 nike

我在 Android 项目中使用 Firestore。
我有一个 Transaction 模型,它有一个 org.threeten.bp.LocalDateTime 日期 字段。

当我尝试通过调用 docRef.toObject(Transaction.class) 将 DocumentReference 反序列化为 Transaction 模型时,我得到了以下错误:

java.lang.RuntimeException: Could not deserialize object. Can't convert object of type java.lang.String to type org.threeten.bp.LocalDateTime (found in field 'date')

这是预期的,因为服务器将日期作为字符串返回。
是否可以使用自定义反序列化器?

我知道我可以放弃使用 toObject 方法并编写自定义代码,但感觉很浪费,因为我只需要对单个字段进行自定义反序列化。
其余字段正确反序列化。

最佳答案

Firebase 数据库和 Cloud Firestore 无法将任意 Java 对象序列化到数据库中。您必须编写代码来仅选择要存储的属性。

如果您在编写此代码时遇到问题,请展示您的尝试,我们可以看看。

请参阅(其中大部分用于实时数据库,但同样的逻辑适用于 Cloud Firestore):

关于android - Firestore 自定义 `toObject` 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48487378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com