如何将 json 数据关联到 flutter 列表?

How to associate the json data to flutter list?

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

相关联

我应该怎么做?

List companydetails;

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

JSON数据

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

{"id":"23","name":"Maria",},
]
}

我需要根据获取的数据在 flutter 中构建一个列表视图。

你可以使用这个模型:

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> toJson() {
    final Map<String, dynamic> data = new 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]);
    }
  ),
...