如何解决dart错误-发生异常。 _TypeError(类型“ List <dynamic>”不是类型“ String”的子类型)

时间:2019-06-18 10:54:42

标签: dart

我在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

您能帮我解决一下此错误吗?。

谢谢

1 个答案:

答案 0 :(得分:1)

此处提供的代码准确地描述了问题。

json映射具有名为"incentives"的属性,该属性是具有一个元素的列表(List<dynamic>)。 您尝试将此值分配给类型为incentives的字段String

由于List<dynamic>无法分配给String,因此失败。

由于json['incentives'] static 类型为dynamic,因此在运行时失败,因此编译器无法在编译时确定该值不可分配给{{1 }}。由于类型错误指出:“类型'列表'不是类型'字符串'的子类型”。

我不确定如何解决问题,因为尚不清楚您实际要分配给String的值。也许您只需要将incentives字段的类型更改为incentives。这取决于如何使用该类。