如何在颤动中检索json数据元素以列出view.builder?

Posted

技术标签:

【中文标题】如何在颤动中检索json数据元素以列出view.builder?【英文标题】:How to retrieve json data elements in to list view.builder in flutter? 【发布时间】:2020-12-11 17:44:47 【问题描述】:

我正在使用以下代码从 Flutter 应用程序中的 mysql 服务器获取 json 数据的元素。我在其中成功获取数据。

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));

现在我需要在颤动的列表视图构建器中通过这个访问 json 元素,但我不知道如何访问这些元素

companyDetail.content

这是要获取并构建列表的 JSON 数据

JSON 数据

"error":"false",
 "content":[

"id":"22","name":"Johnny",,

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

请指导我如何获取 JSON 的元素数据并将其放入 Listview.builder 的 ListTile 中?

【问题讨论】:

您的 JSON 结构有错误 【参考方案1】:

访问 companyDetail["content"]

【讨论】:

【参考方案2】:

希望这有助于此代码有助于从 JSON 结构访问内容中的数据并将其映射到变量。

var jsonDecode = json.decode(jsonFile);
//Decode your json file 

//then map the content details to a variable.

var content = jsonDecode['content'];
// Since data inside your json eg above is a list.
// access the first element of the list and map to a var. 
var firstdata= content[0];
// then map the id and name to a variable.
String id=firstdata['id'];
String name = firstdata['name'];

在文本小部件内的列表图块中使用它

【讨论】:

以上是关于如何在颤动中检索json数据元素以列出view.builder?的主要内容,如果未能解决你的问题,请参考以下文章

我如何从颤动的firebase实时数据库中检索数据

如何在颤动中访问此 JSON 数据?

如何在颤动的 5 个元素的列中仅将一个元素居中

在颤动的蜂巢中按日期检索数据

如何在颤动中从json中只选择一项

如何在颤动中将Json数据传递到多屏