【发布时间】:2020-06-02 18:21:55
【问题描述】:
我正在尝试从 Dart/Flutter 应用程序中的 Rest API 解析数据。 JSON 在根中包含一个名为data 的字段,其中包含Words 的列表。我想从这个 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>>,所以我对为什么会收到错误感到困惑。
任何建议表示赞赏。
【问题讨论】:
-
请在 jsonString 中添加你得到的内容并添加 Word 类。