如何将json数据与抖动列表相关联?

问题描述

我能够在flutter应用程序中获取json数据。 现在,我想将该数据与List关联。

我应该怎么做?

List companydetails;

var jsonResponse = json.decode(response.body);

JSON数据

 {"error":"false","content":[
{
"id":"22","name":"Johnny",},{"id":"23","name":"Maria",]
}

我需要从获取的数据中快速构建一个列表视图。

解决方法

您可以使用此模型:

class CompanyDetail {
  String error;
  List<Content> content;

  CompanyDetail({this.error,this.content});

  CompanyDetail.fromJson(Map<String,dynamic> json) {
    error = json['error'];
    if (json['content'] != null) {
      content = new List<Content>();
      json['content'].forEach((v) {
        content.add(new Content.fromJson(v));
      });
    }
  }

  Map<String,dynamic> toJson() {
    final Map<String,dynamic> data = new Map<String,dynamic>();
    data['error'] = this.error;
    if (this.content != null) {
      data['content'] = this.content.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class Content {
  String id;
  String name;

  Content({this.id,this.name});

  Content.fromJson(Map<String,dynamic> json) {
    id = json['id'];
    name = json['name'];
  }

  Map<String,dynamic>();
    data['id'] = this.id;
    data['name'] = this.name;
    return data;
  }
}

然后绑定Json数据:

var companyDetail = CompanyDetail.fromJson(json.decode(response.body));

现在在ListView小部件中使用“内容列表”:

companyDetail.content

示例(确保content不为空):

....
ListView.builder
  (
    itemCount: companyDetail.content.length,itemBuilder: (BuildContext ctxt,int index) {
     return new Text(companyDetail.content[index]);
    }
  ),...

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...