Angular 忽略从JSArray到List的强制转换失败<;字符串>;
我使用字符串数组从api接收json。然后我用类型列表将其设置为局部变量Angular 忽略从JSArray到List的强制转换失败<;字符串>;,angular,dart,Angular,Dart,我使用字符串数组从api接收json。然后我用类型列表将其设置为局部变量 if (json['x'] is List) { List<String> x = json['x']; print(x); } if(json['x']是列表){ 列表x=json['x']; 印刷品(x); } 当我运行应用程序时,Chrome向我显示一条警告:“忽略从JSArray到List的强制转换失败” 那我该怎么办 角度5.0.0-α+6 铬63.0.3239.132 Dart虚拟机
if (json['x'] is List) {
List<String> x = json['x'];
print(x);
}
if(json['x']是列表){
列表x=json['x'];
印刷品(x);
}
当我运行应用程序时,Chrome向我显示一条警告:“忽略从JSArray到List的强制转换失败”
那我该怎么办
- 角度5.0.0-α+6
- 铬63.0.3239.132
- Dart虚拟机版本:2.0.0-dev.32.0
List
,因为这是规范
如果您想将某些内容强制转换为列表
,则不能像在Dart 2中那样仅依赖隐式强制转换。您必须使用实数类型:
List x = json['x'];
或者使用.cast
功能:
var x = (json['x'] as List).cast<String>();
var x=(json['x']as List).cast();
我意识到这比以前更多的是写作。如果您不喜欢这周围的锅炉板,您可能想看看JSON序列化包,例如
JSON_serializable
或build_value
。我假设这是来自DDC的,对吗?Dart2的dar2js正在进行中。我想只有在那里也显示了警告,这才有意义。另见