我正在尝试在Dart/Flutter应用程序中解析来自Rest API的数据。JSON文件在根目录下包含一个名为data
的字段,其中包含Word
列表。我想从这个JSON中获取一个List<Word>
。我已经有以下代码:
Map<String, dynamic> jsonMap = json.decode(jsonString);
List<Word> temp = jsonMap['data']
.map((map) => map as Map<String, dynamic>)
.map((Map<String, dynamic> map) => Word.fromJson(map)).toList(); // map to List<Word>
Word.fromJson
的签名如下:
Word.fromJson(Map<String, dynamic> json)
对 map
的最终调用会导致以下错误:
type 'List<dynamic>' is not a subtype of type 'List<Map<String, dynamic>>'
据我理解,调用map((map) => map as Map<String, dynamic>)
应该将List<dynamic>
转换为List<Map<String, dynamic>>
,所以我很困惑为什么会出现错误。
如有建议,请提出,谢谢。