是的,是的,好人,
[编辑时间:
在飞镖中运行这个
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
基本上,您不必铸造整个列表,而是必须逐个铸造每个元素。