【问题标题】:How to pass json array and its object and keys of object in flutter.?如何在flutter中传递json数组及其对象和对象的键。?
【发布时间】:2019-08-20 00:55:53
【问题描述】:

[在此处输入图像描述][1]我想解析json数组及其对象和数组对象中的键。?我该如何解析?

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']);
   }

我想解析这个数组..

“行”:[ { “任务” { “标题”:“阿米尔” },"类别类型":{ 编号:“123”} { “数字”:3, “单词”:“SES” } ] }

【问题讨论】:

    标签: json api parsing flutter


    【解决方案1】:

    您添加的 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"];
    

    【讨论】:

    • 我怎样才能得到“行”?
    • var respBody = jsonDecode(response?.body); var rows = respBody["rows"];
    • 如果您的问题得到解决,我建议您标记有帮助的答案。 :)
    【解决方案2】:

    对于这种情况,另一个答案已经足够好,但不是最优的,如果你创建一个 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(); 
    

    然后你有一个任务列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-21
      • 2018-10-06
      • 2019-06-22
      • 2021-10-08
      • 1970-01-01
      相关资源
      最近更新 更多