无法从Firebase数据将对象投射到POJO

时间:2019-07-18 13:33:35

标签: java android firebase google-cloud-firestore

我有一个像这样的数据结构:cucumber.runtime.CucumberException:java.lang.NoSuchMethodException:cucumber.runtime.java.JavaBackend.<init>(cucumber.runtime.io.ResourceLoader, io.cucumber.stepexpression.TypeRegistry),而我从 Firestore 那里得到它是这样的:Map<String, CustomPojo>。如何从此地图中获取自定义地图,因为我无法以任何方式进行投射。

我的完整代码很简单(来自官方文档页面):

Map<String, Object>

这是数据结构:

enter image description here

1 个答案:

答案 0 :(得分:1)

  

我不能以任何方式投射它。

这是因为Firestore尚未提供执行此操作的方法。请注意以下代码行:

Object obj = entry.getValue();
CustomPojo myObj= (CustomPojo)  obj;

由于entry.getValue()无法映射到CustomPojo类型的对象,因此将无法使用。该Object对象实际上实际上也是一个Map。因此,您需要再次遍历这些地图并自己创建CustomPojo对象,以实现Map<String, CustomPojo>

也请从以下帖子中查看我的答案: