[在此处输入图像描述] [1]我想解析json Array及其对象和数组对象中的键。我怎么解析??
http.Response response=await http.get("api url");
List resJson=json.decode(response.body);
Map decode=jsonDecode(response.body);
List<Task> task =new List<Task>();
for(var task in decode['rows']){
print(task['Task']);
}
我想解析这个数组。
“行”:[ { “任务” { “ title”:“ aamir” },“类别类型”:{ id:“ 123”} { “数字”:3, “ word”:“ SES” } ] }
答案 0 :(得分:0)
您添加的JSON无效
如果这是您要解析的JSON-
{
"rows": [{
"Task": {
"title": "aamir"
},
"Category Type": {
"id": "123"
}
}]
}
您可以这样解析-
for(int i = 0 ; i < rows.length ; i++) {
var task = rows[i]["Task"];
String title = task["title"];
String id = rows[i]["Category Type"]["id"];
答案 1 :(得分:0)
对于这种情况,另一个答案足够好,但不是最佳选择,如果您创建一个podo(或pojo),然后将此方法添加到podo类中(假设它的名称是Task),效率会更高。
factory Task.fromJson(Map<String, dynamic> json) => new Post(
title: json["title"];}
带有构造函数。
Task({this.title})
还有很多工具可以在线创建这个podo(例如https://app.quicktype.io),然后像这样解码它
Map<String, dynamic> map = json.decode(response.body);
Iterable<dynamic> l = map["rows"];
List<Task> tasks= l.map((model) => Task.fromJson(model)).toList();
,然后您有任务列表。