Dart 如何在循环中创建贴图?
我尝试构建一个地图,将其添加到firestore中 产品类别:Dart 如何在循环中创建贴图?,dart,flutter,google-cloud-firestore,Dart,Flutter,Google Cloud Firestore,我尝试构建一个地图,将其添加到firestore中 产品类别: class Produkt{ String name; int anzahl; Produkt({ this.name, this.anzahl, }); factory Produkt.fromJson(Map<String, dynamic> parsedJson){ return Produkt( name:parsedJson['Name'],
class Produkt{
String name;
int anzahl;
Produkt({
this.name,
this.anzahl,
});
factory Produkt.fromJson(Map<String, dynamic> parsedJson){
return Produkt(
name:parsedJson['Name'],
anzahl:parsedJson['Anzahl']
);
}
Map<String, dynamic> toProduktJson() =>
{
"Name" : name,
"Anzahl" : anzahl
};
}
但是如果列表produkte的长度为2,则映射应为2,如果列表的长度为10,则映射应为10个条目
我该怎么做?
请帮帮我。
谢谢选项如下:
Map<String, dynamic> toProdukteJson() {
Map map = new Map<String, dynamic>();
if (produkte != null) {
map["produkte"] = produkte.map((produkt) => produkt.toJson()).toList();
}
return map;
}
class Produkt {
final String id;
...
Produkt(this.id, ...);
Map toJson() => {'id' : id, ...};
}
Map toProdukteJson(){
Map Map=newmap();
if(produkte!=null){
map[“produkte”]=produkte.map((produkt)=>produkt.toJson()).toList();
}
返回图;
}
类产品{
最终字符串id;
...
Produkt(this.id,…);
映射到JSON()=>{'id':id,…};
}
这不起作用,因为produkte是一个ProduktWell列表,它假设您的Podukt类中有一个Map to json()=>..
方法。我已经更改了答案,以考虑toJson()
方法。
{
"Produkte" : [
produkte[0].toProduktJson(),
produkte[1].toProduktJson(),
produkte[2].toProduktJson(),
]
};
Map<String, dynamic> toProdukteJson() {
Map map = new Map<String, dynamic>();
if (produkte != null) {
map["produkte"] = produkte.map((produkt) => produkt.toJson()).toList();
}
return map;
}
class Produkt {
final String id;
...
Produkt(this.id, ...);
Map toJson() => {'id' : id, ...};
}