在Dart / Flutter中将List <list <string >>解析为List <datetime>

时间:2019-02-25 21:06:01

标签: dart flutter

我收到服务器的回复:

[
    [
        "2014",
        "01",
        "01"
    ],
    [
        "2015",
        "01",
        "01"
    ],
    [
        "2016",
        "01",
        "01"
    ]
]

我想将它们转换为列表。 这是我创建的:

final response = await _dio.get(
    "api/v1/calendar/holidays");
List<dynamic> list = response.data;
List<String> calendarList = List();
var dateList =
list.map((i) => ((a) => calendarList.add(a.toString()))).toList();

return calendarList;

但是这将返回我的字符串列表。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

var result = response.data
  .map((e) => DateTime.parse('${e[0]}-${e[1]}-${e[2]}'))
  .toList();

答案 1 :(得分:0)

如果response.data是您在问题中发布的列表,则应该可以使用。

var dateList = response.data[0].map((l) => DateTime(l[0], l[1], l]2])).toList()

您可能需要

var dateList = jsonDecode(response.data)[0].map((l) => DateTime(l[0], l[1], l]2])).toList()

取决于response.data的实际格式。