【发布时间】:2020-06-20 04:06:48
【问题描述】:
我的错误:
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Food' in type cast
我从服务器获取列表,使用 fromJson 以我需要的格式获取它
这个类包含另一个类的另一个列表,我无法与之交互。当我尝试从内置列表中提取某些内容时,出现错误,并且列表显示为 CastList
我的班级:
class FoodGroup{
@PrimaryKey()
int id;
String name;
List<Food> foods;
FoodGroup({this.name,
this.id,
this.foods});
FoodGroup.map(dynamic obj) {
this.id = obj["id"];
this.foods = obj["foods"].cast<Food>();
this.name = obj["name"];
}
Map<String, dynamic> toMap() {
var map = new Map<String, dynamic>();
map["id"] = id;
map["foods"] = foods;
map["name"] = name;
return map;
}
FoodGroup.fromJson(Map<String, dynamic> json)
: id = json['id'],
foods = json['foods'].cast<Food>(),
name = json['name'];
}
。 cast() 我需要从 json 解码:
var l = jsonDecode(r.body) as List;
foodTable = l.map((i) => FoodGroup.fromJson(i)).toList();
使用 FoodGroup 一切正常,问题出在列表中
【问题讨论】: