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和代码。