是的,是的,好人,
[编辑时间:
在飞镖中运行这个

import 'dart:convert';
void main() {
  const String _json = '{"myListInt": [1]}';
  final Map<String, dynamic> _map = jsonDecode(_json);
  final List<int> _list = _map['myListInt'] as List<int>;
  _list.forEach((i) {
    String _s = i.toString();
    print(_s);
  });
}

退货
Uncaught exception:
CastError: Instance of 'JSArray': type 'JSArray' is not a subtype of type
'List<int>'

以防我使用
  final List<int> _list = List<int>.from(_map['myListInt'] as List<int>);


List<int>.generate(_map['myListInt'].length, (i)=>_map['myListInt'][i] as int);

退货
Uncaught exception:
Cannot read property 'length' of undefined

]
我做错什么了?
提前谢谢你
弗朗西斯科

最佳答案

而不是这条线

myListInt: List<int>.from(_map['myListInt'] as List<int>),

你可以用
myListInt: List<int>.generate(_map['myListInt'].length, (i)=>_map['myListInt'][i] as int

基本上,您不必铸造整个列表,而是必须逐个铸造每个元素。

10-04 11:25