【问题标题】:Flutter convert List<List<dynamic>>Flutter 转换 List<List<dynamic>>
【发布时间】:2021-11-17 00:53:01
【问题描述】:

我有一个 Flutter 应用程序,我在其中发出一个 http 请求,它为我带来了 json 数据。在用一个包格式化它之后,我得到一个动态类型列表的列表。这是它的样子:

[[2016-04-01, 85.5254], [2016-05-01, 89.1118], [2016-06-01, 91.8528], [2016-07-01, 93.7328], [2016-08-01, 93.9221], [2016-09-01, 95.0014], [2016-10-01, 97.2428], [2016-11-01, 98.8166]]

所以我创建了一个名为 IpcData 的类,它接收一个 String 和一个 double。

class IpcData {

  final String date;
  final double value;

  IpcData(this.date, this.value);

}

所以我们可以猜测 IpcData 实例如下所示:

IpcData(2016-08-01, 93.9221)

我不知道怎么做,但我想要一个方法,使用 List> 中的信息返回 List,看起来像:

[IpcData(2016-08-01, 93.9221), IpcData(2016-08-01, 93.9221), IpcData(2016-08-01, 93.9221),]

【问题讨论】:

    标签: list flutter dart mobile builder


    【解决方案1】:

    您可以在原始列表上使用 .map 函数来构建新列表。像这样的。

    class IpcData {
    
      final String date;
      final double value;
    
      IpcData(this.date, this.value);
      
      @override
      String toString() {
        return '$date -> $value';
      }
    }
    
    void main() {
      List<List<dynamic>> initList = [
        ['2016-04-01', 85.5254], ['2016-05-01', 89.1118], ['2016-06-01', 91.8528], 
        ['2016-07-01', 93.7328], ['2016-08-01', 93.9221], ['2016-09-01', 95.0014],
        ['2016-10-01', 97.2428], ['2016-11-01', 98.8166], ['2016-12-01', 99.8166]
      ];
    
      List<IpcData> ipcList = initList.map((e) => IpcData(e[0], e[1])).toList();
      
      print(ipcList);
      
    }
    

    【讨论】:

    • 谢谢,效果很好!
    猜你喜欢
    • 2021-05-27
    • 1970-01-01
    • 2018-12-01
    • 2020-08-03
    • 2021-11-11
    • 1970-01-01
    • 2021-05-20
    • 2020-09-04
    • 2021-03-29
    相关资源
    最近更新 更多