【问题标题】:how to save a list of data to a variable in flutter dart如何将数据列表保存到flutter dart中的变量
【发布时间】:2021-06-11 20:27:08
【问题描述】:
var users = [
{id :3,name : adel,description: agent},{ id :4,name : anu,description: Manager,},
{id:5,name:arun,description:poen}
]

这里我想将每个 json 对象保存在单独的变量中,这样我就可以轻松访问它,如何做到这一点

for (int i =0; i<users.length;i++)
{
 var descrip = users[i]['description'];
}

当我使用上述循环方法时,变量只保存列表中的最后一个数据,我是 Flutter 的新手,任何人都知道如何将这些数据保存到变量中,请帮助我

【问题讨论】:

  • 你的意思是,你想要所有描述的单独列表吗?
  • 你只得到最后一个数据的原因是因为var descrip 是一个单一的值,而不是数组类型,如果你想保存所有值,你应该在其中保存值里面的描述。您需要定义 var descrip = new List(users.length) 并使用 descrip.add(users[i]['description']) 添加值
  • @sajith lakmal 是单独的描述列表,并将其保存到变量描述
  • @BelleZaid 我检查了这个,但它显示错误“未处理的异常:不支持的操作:无法添加到固定长度列表”
  • 实际上new List() 已被弃用。您应该使用 [] 或 List.filled(length, fill)

标签: list flutter variables dart save


【解决方案1】:

试试这个

List<Map<String, dynamic>> usersJson = [
{'id': 3, 'name': 'adel', 'description': 'agent'},
{ 'id': 4, 'name': 'anu', 'description': 'Manager',},
{'id': 5, 'name': 'arun', 'description': 'poen'}

 ];
   

 List<String> descriptions = [];

for (int i =0; i<users.length;i++)
{
 descriptions.add(users[i]['description']);
}

【讨论】:

  • 我想你知道 Belle Zaid 说的问题是什么。
【解决方案2】:

正如 Belle Zaid 所说,您在循环中声明了变量 descrip 并在每一步都覆盖它。这就是为什么您只能获得最后一个值的原因。首先,您需要在 for 循环之外声明一个 List,然后在循环内将每个值添加到列表中。

final List<String> descrip = [];
for(int i = 0;i < users.length; i++){
  descrip.add(users[i]['description']);
}

【讨论】:

    猜你喜欢
    • 2019-09-05
    • 2021-08-14
    • 2018-11-23
    • 1970-01-01
    • 2021-11-19
    • 2023-03-20
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    相关资源
    最近更新 更多