我正试图将firestore文档快照映射到我所创建的自定义对象,但在此过程中出现了以下错误:
E/Flutter(6555):[错误:Flutter/lib/ui/ui_dart_state.cc(177)]未处理的异常:类型“(动态)=>TestMap”不是“Transform”的类型“(String,dynamic)=>MapEntry
根据我的理解,这与我解析嵌套映射“测试映射”的方式有关。是否有任何颤振/火药/飞镖专家可以帮助我理解我做错了什么,以及如何修复这个问题。
所以我在Firestore中的数据如下所示:
class Categories {
final String category;
final String imageurl;
List testMap = [];
Categories(this.category, this.imageurl);
Map<String, dynamic> toMap() => {
"category": this.category,
"imageurl": this.imageurl,
"testMap": this.testMap
};
Categories.fromMap(Map<String, dynamic> map)
: category = map["category"],
imageurl = map["imageurl"],
testMap = map["testMap"].map((map) { // THE ERROR IS HERE (map)
return TestMap.fromMap(map);
}).toList();
}
class TestMap {
final String v1;
final String v2;
TestMap(this.v1, this.v2);
Map<String, dynamic> toMap() => {
"v1": this.v1,
"v2": this.v2,
};
TestMap.fromMap(Map<dynamic, dynamic> map)
: v1 = map["v1"],
v2 = map["v2"];
}
fromFirestore() {
final FirebaseAuth auth = FirebaseAuth.instance;
Categories categoryObject;
CollectionReference categoriesCollection =
FirebaseFirestore.instance.collection('categories');
categoriesCollection.doc('categories').get()
// ignore: missing_return
.then((docSnapshot) {
for (var i = 1; i <= docSnapshot.data().length; i++) {
print(docSnapshot.data()[i.toString()]['testMap'].toString());
categoryObject = Categories.fromMap(docSnapshot.data()[i.toString()]);
}
});
}
我知道firestore映射到map
多谢!
您可能需要强制转换为TestMap
testMap = map["testMap"].map((map) { // THE ERROR IS HERE (map)
return TestMap.fromMap(map);
}).toList().cast<TestMap>;
问题内容: 我目前正在研究应用程序的聊天功能。并且我在StreamBuilder中设置了AnimatedList,以使消息反向显示。这是我的代码 我的问题是该构建器从未被点击,因此AnimatedList从未被调用。我不确定设置是否正确,因此对此表示感谢。 编辑:我正在尝试使其像FirebaseAnimatedList小部件一样工作。我不知道这是否有助于了解我的目标。 谢谢 问题答案: 更新:我通
我必须使用elasticsearch和python为需要索引的json数据创建索引。例如,我有一个嵌套数组[[39.909971141540645,1452077285.150548,1452077286.196072,1.0455241203308105]]我需要为这个数组定义一个映射,比如第一个字段是count,第二个字段是start_time,end_time,duration。请帮助说明如
我有一个带有对象的RealmObject类,它实际上是PrimaryKey作为这个对象中的字符串。但不允许将对象作为主键。 因为目前不可能更改服务器的响应结构,所以我尝试了不同的方法来解决这个问题。但到目前为止,没有一个奏效。我在Android Studio中使用“io.realm:realm-gradle-plugin:0.87.2”作为和“realm-android”插件。 谢谢beeende
我创建映射如下所示。如何将平面dto对象属性(街道、城市等)映射到域对象中的嵌套地址。当我试着去做的时候,我发现了一个错误: [错误]诊断:返回类型中的属性“Address.PostalCode”未知。@Mapping(来源=“City”,目标=“Address.City”), 还有类...
我想映射这个JSON数据: 对于此java对象: 但是它失败了,所有的值都是。我尝试在变量上方添加,但没有成功。 是否可以反序列化JSON,使其仅映射到(这个)一个类? 编辑:我使用Spring StreamListener进行如下映射:
下面是Main中的随机客户端列表 第二类:产品(字符串名称、枚举类别、BigDecimal价格) 目标->预期结果:在类Main中,创建类Shopping的实例,其中属性是具有 的映射,并用随机数据//integer-购买了多少产品 null null