Flutter web颤振,如何转换列表<;动态>;列出<;项目>;?

Flutter web颤振,如何转换列表<;动态>;列出<;项目>;?,flutter,flutter-web,Flutter,Flutter Web,颤振腹板 我从json.decode(res.body) 无法转换为我期望的类型列表 在chrome开发工具中,它将抛出 Uncaught (in promise) Error: Type 'List<dynamic>' should be 'List<Item>' to implement expected type 'FutureOr<List<Item>>'. 如何解决这个问题?看起来响应主体应该是一个地图列表。要将其转换为列表,您的项类将

颤振腹板

我从
json.decode(res.body)

无法转换为我期望的类型
列表

在chrome开发工具中,它将抛出

Uncaught (in promise) Error: Type 'List<dynamic>' should be 'List<Item>' to implement expected type 'FutureOr<List<Item>>'.

如何解决这个问题?

看起来响应主体应该是一个地图列表。要将其转换为
列表
,您的
类将需要一个来自JSON的
构造函数

class Item {
  ...
  Item.fromJson(...)
      : ...
}
查看此链接以了解如何实现此功能:

然后,您所要做的就是将此函数映射到列表中的所有对象

  static Future<List<Item>> getContentList({String type, num page = 1}) async {
    final List<dynamic> ret = await ApiService.get(
      url: _typeMap[type],
    );
    return ret.map((obj) => Item.fromJson(obj)).toList();
  }
static Future getContentList({String type,num page=1})异步{
最终列表ret=wait ApiService.get(
url:_typeMap[type],
);
返回ret.map((obj)=>Item.fromJson(obj)).toList();
}

看起来响应主体应该是一个映射列表。要将其转换为
列表
,您的
类将需要一个来自JSON的
构造函数

class Item {
  ...
  Item.fromJson(...)
      : ...
}
查看此链接以了解如何实现此功能:

然后,您所要做的就是将此函数映射到列表中的所有对象

  static Future<List<Item>> getContentList({String type, num page = 1}) async {
    final List<dynamic> ret = await ApiService.get(
      url: _typeMap[type],
    );
    return ret.map((obj) => Item.fromJson(obj)).toList();
  }
static Future getContentList({String type,num page=1})异步{
最终列表ret=wait ApiService.get(
url:_typeMap[type],
);
返回ret.map((obj)=>Item.fromJson(obj)).toList();
}

请在解码json的地方共享您的json和代码。请在解码json的地方共享您的json和代码。