【发布时间】:2021-09-25 11:49:05
【问题描述】:
我有以下代码:
Map<dynamic, dynamic> result = snapshot.value;
Map<String, dynamic> data = Map<String, dynamic>();
for (dynamic type in result.keys) {
data[type.toString()] = result[type];
}
print(data);
print(data.runtimeType);
但是数据类型是_InternalLinkedHashMap<String, dynamic>,我无法读取它的值,尽管我在上面做了丑陋的黑客攻击。
直接投射也不起作用:snapshot.value as Map<String, dynamic> 抛出错误:'_InternalLinkedHashMap<Object?, Object?>' is not a subtype of type 'Map<String, dynamic>'
我需要一个 Map
snapshot.value 有一种动态类型,但它是一个返回实时数据库查询结果的 json 对象,并且没有关于如何将值检索到 Flutter 对象中的文档。
我已经尝试过这个answer,但我不能使用它,因为jsonDecode() 需要一个字符串作为参数。
【问题讨论】:
标签: firebase flutter dart firebase-realtime-database