将 JSON 嵌套到颤动中

Posted

技术标签:

【中文标题】将 JSON 嵌套到颤动中【英文标题】:Nested JSON into flutter 【发布时间】:2019-12-07 23:31:42 【问题描述】:

我正在尝试处理从 Firebase 获取的嵌套 JSON 文件(实时)这是 JSON 文件。第一个孩子 (12341) 是一个 ID,然后是年、月、日,然后是学生的详细信息。


  "12341" : 
    "2014" : 
      "11" : 
        "21" : 
          "class" : "taichi",
          "name" : "mukuro"
        
      
    
  

我之前所做的只是将这些值映射到一个列表中,但是它会从一年到最后一个子生成所有这些值

for (int i = 0; i < data.length; i++) 
    print(data.keys.elementAt(i));
    studMap = 
        data.keys.elementAt(i): data.values.elementAt(i),
    ;
    stud.add(studMap);

我不知道该怎么做,因为 id、year、month 和 day 是 Key。 我希望能够显示将显示 id、日期、姓名和班级的学生列表(使用 listview)

【问题讨论】:

这肯定是由于您声明/初始化变量databaseReference 的方式。你能把它也包括在问题中吗? 【参考方案1】:

首先创建地图

Map<dynamic, dynamic> map = snapshot.value;

然后你可以遍历键来获取孩子的值

map.forEach((key, value) 
final class = value["class"]
final id = value["id"]
final name = value["name"]

【讨论】:

以上是关于将 JSON 嵌套到颤动中的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤动的列表视图中嵌套列表视图?

在嵌套的 MaterialApp 中显示对话框 - 颤动

从flutter中的多个嵌套json数组中获取值

将嵌套的键/值和嵌套列表合并到 json

将大型嵌套字典转储到 JSON 对象中[重复]

Rails 使用 JSON 将深度嵌套属性到 Vue 实例