dart “MappedListIterable&lt;dynamic,dynamic&gt;”不是类型“FutureOr”的子类型< ObjectModel>

dauxcl2d  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(141)

我试图显示这个数据,我拉从查询,我不断得到的错误
“MappedListIterable<dynamic,dynamic>”不是类型“FutureOr”的子类型
我该如何解决这个问题:

  1. Future<ObjectModel> getObjectById(String ID) async {
  2. final res = await http.get(Uri.parse(API.getObjectByID));
  3. final object = jsonDecode(res.body);
  4. print(object);
  5. return object.map((e) => ObjectModel.fromJson(e));
  6. }

字符串
这段代码包含了我的数据模型的fromJson()部分,以便于上下文:

  1. factory ObjectModel.fromJson(Map<String, dynamic> json) {
  2. return ObjectModel(
  3. objectID: json['objectID'] ?? '' ,
  4. objectName: json['objectName'] ?? '' ,
  5. objectPrice: json['objectPrice']?? '',
  6. );
  7. }

kmynzznz

kmynzznz1#

如果响应已经是基于模型的格式化Map,则不需要object.map((e) => ObjectModel.fromJson(e))

  1. Future<ObjectModel?> getObjectById(String ID) async {
  2. try{
  3. final res = await http.get(Uri.parse(API.getObjectByID));
  4. final object = jsonDecode(res.body);
  5. return ObjectModel.fromJson(object); //which is fromMap as you've defined
  6. }
  7. catch (e){
  8. debugPrint(e.toString());
  9. return null;
  10. }
  11. }

字符串

相关问题