gpt4 book ai didi

flutter - 使用Typecast转换 map 以保存在Firestore中

转载 作者:行者123 更新时间:2023-12-03 04:42:28 24 4
gpt4 key购买 nike

我的客户端中有一张 map ,想要保存到Cloud Firestore中。
为此,我必须将其映射为Map<String,dynamic>类型,否则由于Firestore规则会出现错误。
我已经写了一个map方法,但是它太罗word了。

Map<String, dynamic> transformClassAMapToFirestoreMap(
Map<String, ClassA> myMap) {
Map<String, dynamic> map = {};
myMap.forEach((key, value) {
map[key] = value.toMap();
});
return map;
}
我知道有一种方法 Map.from()可以将 map 转换为其他类型的 map ,并且是单线的。不幸的是,我不知道如何在我的情况下使用它。
我所拥有的是一个 Map<String, ClassA> myMap;,我是这样实现的:
Map<String, dynamic> toMap() {
return {
'myMap': Map<String, dynamic>.from(myMap);
}
}
不幸的是,我收到以下错误:
I/flutter ( 7669): Invalid argument: Instance of 'ClassA'
E/flutter ( 7669): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: Invalid argument: Instance of 'ClassA'

最佳答案

答案是:

Map<String, Map<String, dynamic>>.from(myMap?.map((key,value) => MapEntry(key, ClassA.toJson())))
toJson返回一个 Map<String, dynamic>,在其中我序列化了所有属性。

关于flutter - 使用Typecast转换 map 以保存在Firestore中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62959235/

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