试图解析这个json:
"items":{
"A101": { "uID": "11", "count": 1 },
"A102": { "uID": "12", "count": 2 }
}
使用以下代码:
Map<String, ItemData> items = (json['items'] as Map).map((k, v) => MapEntry(k, ItemData.fromJson(v)));
ItemData Factory的位置是:
factory ItemData.fromJson(Map<String, dynamic> json){
return ItemData(
uID : json['uID'],
count : json['count']
);
}
我收到以下错误:
类型'_InternalLinkedHashMap <dynamic,dynamic>'不是'Map <String,dynamic>'类型的子类型
值得一提的是,从本地文件解析相同的json时,此代码可以正常工作。似乎从Firestore获取数据存在问题
想出来,它应该是:
Map <String,ItemData> items =((json ['items'] as Map).cast <String,dynamic>())。map((k,v)=> MapEntry(k,ItemData.fromJson(v.cast) <String,dynamic>())));