无法分配参数类型 'List<dynamic> Function()' - 或反序列化 Map<int, List<dynamic>>

argument type 'List<dynamic> Function()' can't be assigned - or deserializing Map<int, List<dynamic>>

我尽最大努力将 json 转换为 Map<int, List<dynamic>> 对象时收到错误 The argument type 'List<dynamic> Function({bool growable})' can't be assigned to the parameter type 'List<dynamic>'.

class MyDataClass {
  int id;
  Map<int, List<dynamic>> data;
  MyDataClass({required this.id, required this.data});

  factory MyDataClass.fromJson(Map<String, dynamic> json) => MyDataClass(
    id: json["id"],
    data: Map<int, List<dynamic>>.from(json["data"])
      .map((key, problemList) =>
        MapEntry(key, (problemList.map((dSet) => dSet.fromJson())).toList)
      )
  ),
}

我做错了什么?

正如@esentis 评论的那样,您没有调用 toList() 函数(因为您缺少 ()),而只是访问字段的 getter,从而返回一个实例Function.

将您的代码更改为 .toList() 应该可以解决问题。