【发布时间】:2019-05-06 19:04:56
【问题描述】:
我有一个从我的服务器获取的 json 文件,我想使用模型将数据保存到地图中,正确的方法是什么?
我创建了一个模型来解码 json 数据。我的 json 文件有一些“[]”,如果我使用另一个没有“[]”的 json 文件(单个项目)它可以工作,但不能使用括号。
这是我的模型
class RestoModel {
// int id;
String name;
RestoModel(this.name);
RestoModel.fromJson(Map<String, dynamic> data) {
name = data['name'];
}
}
我的获取函数
List<RestoModel> restaurantList = [];
void fetchRestaurants() async {
var response = await get('https://link/get_list.php');
var data = RestoModel.fromJson(json.decode(response.body));
setState(() {
restaurantList.add(data);
print(response.body);
});
}
我收到这个错误
Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>'
这是我的 json 数据
[{"id":"1","name":"Resto 1"},{"id":"3","name":"Resto 2\r\n"}]
但我的代码可以处理这个 json 数据
{
"name": "beatae et provident et ut vel",
}
我希望将 json 文件保存在列表中,但出现此错误
Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>'
【问题讨论】: