gpt4 book ai didi

dart - 如何修复类型 '_InternalLinkedHashMap' 不是类型转换中类型 'List' 的子类型

转载 作者:IT王子 更新时间:2023-10-29 06:43:20 30 4
gpt4 key购买 nike

我创建了一个方法,当我构建它时,出现了这个错误:

type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'List<dynamic>' in type cast

然后我删除了方法,错误仍然存​​在。

这是我的代码:

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
};
}

类产品列表

class ProduktList{
final List<Produkt> produkte;

ProduktList({
this.produkte,
});

factory ProduktList.fromJson(Map<String, dynamic> parsedJson){
var list = parsedJson["Produkte"] as List;
List<Produkt> produkte = list.map((i) => Produkt.fromJson(i.cast<String, dynamic>())).toList();

return ProduktList(
produkte: produkte,
);
}

Map<String, dynamic> toProdukteJson() =>
{
"Produkte" : [
produkte[0].toProduktJson(),
produkte[1].toProduktJson(),
]
};
}

我认为错误来自这里,但我不确定:

datenUebertragen(int index, AsyncSnapshot<QuerySnapshot> snapshot, ProduktList produkte){

Firestore.instance.runTransaction((transaction) async{
await transaction.update(
Firestore.instance.collection("Benutzer").document("Anton").collection("Einkaufsliste").document(
snapshot.data.documents[index].documentID),
produkte.toProdukteJson()
);
}
);
}

我在 IconButton onPressed 上调用此方法。谁能帮帮我?

谢谢

编辑:

我这样调用它:

ProduktList produkte = new ProduktList.fromJson(snapshot.data.documents[index].data);

数据看起来像:

{Produkte: [{Anzahl: 201, Name: Zucker}, {Anzahl: 10, Name: Backpulver}]}

编辑:

enter image description here

看起来像这样!

编辑:

enter image description here

最佳答案

尝试改变这个:

 var list = parsedJson["Produkte"] as List;

为此:

 final List list = parsedJson["Produkte"] as List;

关于dart - 如何修复类型 '_InternalLinkedHashMap<dynamic, dynamic>' 不是类型转换中类型 'List<dynamic>' 的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54171833/

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