这个json响应在下面的列表中工作得很好。
[{"id"1","ename":"KING","sal":"5000">............
List<Emp> emp= (json.decode(response.body) as List)
.map((data) => Emp.fromJson(data))
.toList();
但是如何在列表加载数据时启动json停留项
{"items"[{"id" 1、"ename":"KING","sal": 5000 ............
用json.decode(response.body)['items']
代替json.decode(response.body)
一个例子:
import 'dart:convert';
void main() {
// sample body.response
final j = '''{
"items": [
{"id":"1","ename":"KING","sal":"5000"},
{"id":"2","ename":"KING","sal":"5000"}
]
}''';
List<Emp> emp = (json.decode(j)['items'] as List)
.map((data) => Emp.fromJson(data))
.toList();
print(emp);
}
class Emp {
String id;
String ename;
String sal;
Emp({this.id, this.ename, this.sal});
Emp.fromJson(Map<String, dynamic> json) {
id = json['id'];
ename = json['ename'];
sal = json['sal'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['ename'] = this.ename;
data['sal'] = this.sal;
return data;
}
}
List<Emp> emp= (json.decode(response.body)["items"] as List)
.map((data) => Emp.fromJson(data))
.toList();