我在Dart中遇到以下错误。
发生异常。 _TypeError(类型“列表”不是类型“字符串”的子类型)
这是我的代码,
class Hits {
String incentives;
Hits({
this.incentives,
});
Hits.fromJson(Map<String, dynamic> json) {
incentives = json['incentives'];
}
}
JSON中的值具有以下值之一
0:"incentives" -> List (1 item)
key:"incentives"
value:List (1 item)
[0]:""
String:""
OR
0:"incentives" -> null
key:"incentives"
value:null
您能帮我解决一下此错误吗?。
谢谢
答案 0 :(得分:1)
此处提供的代码准确地描述了问题。
json
映射具有名为"incentives"
的属性,该属性是具有一个元素的列表(List<dynamic>
)。
您尝试将此值分配给类型为incentives
的字段String
。
由于List<dynamic>
无法分配给String
,因此失败。
由于json['incentives']
的 static 类型为dynamic
,因此在运行时失败,因此编译器无法在编译时确定该值不可分配给{{1 }}。由于类型错误指出:“类型'列表'不是类型'字符串'的子类型”。
我不确定如何解决问题,因为尚不清楚您实际要分配给String
的值。也许您只需要将incentives
字段的类型更改为incentives
。这取决于如何使用该类。