我有一个返回对象列表的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>闭包定义的类型。
_serializers.deserializeWith
Task
Iterable<Task>
我要如何反序列化列表。我确定我缺少一些超级基础的东西。
对。我错过了一些基本的知识。我当时以为我正在使用流,但是由于它是列表,因此只需要.map在列表上使用该函数即可。
.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();