![](/img/trans.png)
[英]the argument type 'map dynamic dynamic ' can't be assigned to the parameter type 'map string dynamic'
[英]The argument type 'dynamic' can't be assigned to the parameter type 'Map<String, dynamic>' from Lint vs Pedantic
我刚刚将 VSCode 中的 linter 从 Pedantic 切换到 Lint,我的应用程序的一半亮了。 除了一串类型分配错误外,大部分都很容易修复。 以下代码主要取自示例,出现以下错误:
“参数类型 'dynamic' 不能分配给参数类型 'Map<String, dynamic>'”。
static List<Treatment> decodeData(String treatments) =>
(jsonDecode(treatments) as List<dynamic>)
.map<Treatment>((item) => Treatment.fromJson(item))
.toList();
谁能指出我正确的方向? 谢谢
尝试添加.cast<Map<String, dynamic>>()
,如下所示:
static List<Treatment> decodeData(String treatments) =>
(jsonDecode(treatments) as List<dynamic>)
.cast<Map<String, dynamic>>()
.map<Treatment>((item) => Treatment.fromJson(item))
.toList();
您可以尝试在最后投射它
static List<Treatment> decodeData(String treatments) =>
(jsonDecode(treatments) as List<dynamic>)
.map<Treatment>((item) => Treatment.fromJson(item))
.toList() as Map<String, dynamic>;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.