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