【问题标题】:Flutter forLoop to JsonFlutter for 循环到 Json
【发布时间】:2021-02-28 04:02:10
【问题描述】:

我有这个 for 循环应该返回一些 json 参数:

Map<String, dynamic> items2 = {};
Set<Map<String, dynamic>> filedNamesValues;

这是循环:

 filedNamesValues = {for(int i = 0; i < fieldNames.length; i++)
      items2 = {
        fieldNames[i] : controllers[i].text
      }
  };

当你 print(filedNamesValues.toList()); 时,它会在下面打印我需要的字段:

[
   {
      "inputone":"value"
   },
   {
      "inputtxt":"value"
   },
   {
      "inputdob":"value"
   },
   {
      "inputdo":"value"
   },
   {
      "inpuno":"value"
   }
]

但是我希望他们是这样的:

[
   {
      "inputone":"value",
      "inputtxt":"value",
      "inputdob":"value",
      "inputdo":"value",
      "inpuno":"value"
   }
]

我错过了什么?一些帮助将不胜感激。

【问题讨论】:

  • 打印[items2]会显示什么?

标签: json flutter dart


【解决方案1】:

尝试改变这个:

 filedNamesValues = {for(int i = 0; i < fieldNames.length; i++)
   items2 = {
    fieldNames[i] : controllers[i].text
   }   
 };

为此:

 filedNamesValues = {for(int i = 0; i < fieldNames.length; i++)
   items2.addAll({"${fieldNames[i]}":controllers[i].text});
 };

【讨论】:

  • 当我尝试它时它说“这个表达式的类型是'void'所以它的值不能被使用。”对于 .addAll 甚至不让我运行它。
  • 改变 Map 的初始化为 Map items2 = {};
  • 完全有效,但我必须这样做:for(int i = 0; i
猜你喜欢
  • 2020-06-01
  • 1970-01-01
  • 2018-04-07
  • 2015-05-05
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多