Dart内置值反序列化对象列表

我有一个返回对象列表的API …

[{}, {}, {}, ...]

我已经为每个对象都有一个已定义且可以正常工作的build_value模型。但是,现在我需要对列表进行反序列化

我目前正在尝试这样的事情:

 List<Map<String, dynamic>> json = JSON.decode(DEMO_TASK);

json.expand<Task>((Map<String, dynamic> map) => _serializers.deserializeWith<Task>(Task.serializer, map));

但是,这会引起问题,因为它说_serializers.deserializeWith返回类型Task不是Iterable<Task>闭包定义的类型。

我要如何反序列化列表。我确定我缺少一些超级基础的东西。

回答:

对。我错过了一些基本的知识。我当时以为我正在使用流,但是由于它是列表,因此只需要.map在列表上使用该函数即可。

List<Map<String, dynamic>> json = JSON.decode(DEMO_TASK);

List<Task> tasks = json.map<Task>((Map<String, dynamic> map) => _serializers.deserializeWith<Task>(Task.serializer, map)).toList();

以上是 Dart内置值反序列化对象列表 的全部内容, 来源链接: utcz.com/qa/411781.html

回到顶部