Dart 飞镖投错了类型?

Dart 飞镖投错了类型?,dart,dart-http,Dart,Dart Http,我是Dart新手,想知道.cast()方法如何处理动态类型和列表 这是颤振文档中关于如何在Dart中手动解析JSON的工作示例: List<Photo> parsePhotos(String responseBody) { final parsed = json.decode(responseBody).cast<Map<String, dynamic>>(); return parsed.map<Photo>((json) =>

我是Dart新手,想知道
.cast()
方法如何处理动态类型和列表

这是颤振文档中关于如何在Dart中手动解析JSON的工作示例:

List<Photo> parsePhotos(String responseBody) {
  final parsed = json.decode(responseBody).cast<Map<String, dynamic>>();

  return parsed.map<Photo>((json) => Photo.fromJson(json)).toList();
}
列表解析照片(字符串响应库){
final parsed=json.decode(responseBody.cast();
返回parsed.map((json)=>Photo.fromJson(json)).toList();
}
其中,
responseBody
是以前从HTTP端点获取的一些JSON数组

我不明白为什么
json.decode(responseBody)
的结果在逻辑上应该是
List
时被转换为
Map
。我已经调试了代码,实际上变量
parsed
是一个列表子类型

我这里出了什么错


提前谢谢

看起来这是正确的
cast
是一种
Iterable
方法。尖括号中的类型是iterable中每个元素的类型


链接到原始文档啊,我的不好。不知道每个类都有
.cast()
实现。