【问题标题】:already changed the field to string, but still got error已经将字段更改为字符串,但仍然出现错误 【发布时间】:2020-11-04 16:45:01 【问题描述】: 为什么附加的 *img 有错误。它说 -参数类型'dynamic'不能分配给参数类型'String'.dartargument_type_not_assignable 【问题讨论】: 尝试重启你的 vs 代码。 标签: json flutter dart model 【解决方案1】: 以json['id']为例。 json 被声明为 Map,这意味着 json['id'] 是 dynamic 类型。您不能将动态分配给 UserModel 的字段 id,它是 String 类型的。 您应该先转换 json 值,然后再将其分配给 String: return UserModel( id: json['id'] as String, ... ) 同样适用于其他领域。 【讨论】: "您不能将动态分配给 UserModel 的字段 id,它是 String 类型的。"这取决于 OP 使用的 linter 规则,我们不知道。 Alex 的回答是正确的,UserModel 有它自己的规则。如果 id 是 String,json['id'] 应该转换为 String。从 Map 中读取显式是动态的值,如果模型不是动态的,则必须显式告诉值是什么类型。