【问题标题】:Flutter: Convert list of integers to list of strings in one linerFlutter:将整数列表转换为一行中的字符串列表
【发布时间】:2020-04-27 19:22:28
【问题描述】:

我试图将 JSON 解析为我的对象。 json 的一个字段包含 [1,2,3,4] ,它是 int 的列表。 但我的对象字段包含该字段的List<String> members;。我怎样才能转换它。

通常为了将 ["1","2","3"] 转换为 List,我曾经做过json['members'].cast<String>()

除了使用地图之外,还有没有类似的一种班轮可用?

【问题讨论】:

  • 您尝试过 .toString 吗?

标签: json flutter dart


【解决方案1】:

在这种情况下使用地图非常有效:

List<String> members = json['members'].map((el) => el.toString()).toList();

或者,从 Dart 2.3 开始,结合 map 和 spread 运算符:

List<String> members = [...json['members'].map((el) => el.toString())];

如果你真的不想使用地图,你也可以使用collection for:

List<String> members = [for(int i = 0; i < json['members'].length; i++) json['members'][i].toString()];

【讨论】:

  • 获取异常 List 不是您提供的第一个示例中 List 类型的子类型
  • 更新答案(见this topic
  • 我也试过 map((el) { return el.toString(); }) .toList() .cast();它奏效了。
  • 很好,但是为了更简单,你可以写 map((el) =&gt; el.toString()) 而不是 map((el) { return el.toString(); })
  • 是的,我知道。只想调试并尝试在旅途中查看结果! (y)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-19
  • 1970-01-01
  • 2015-01-14
  • 2021-06-18
  • 2014-07-10
相关资源
最近更新 更多