当前位置: 首页 > 知识库问答 >
问题:

Flutter_TypeError(类型列表不是类型映射的子类型)

花欣然
2023-03-14

我是一个新的颤振和得到类型错误。我正在尝试使用json自动序列化。

在做了一些调整后这里看起来是这样的

下面是我如何尝试从api获取数据

  Future getMyProduct() async {
     final res = await http.get('url');
     final data = json.decode(res.body);
     BaseResponse req = new BaseResponse.fromJson(data);
     return req;
  }

我的BaseResponse类如下所示

import 'package:dynamicapp/model/model.dart';
import 'package:json_annotation/json_annotation.dart';

part 'response.g.dart';

@JsonSerializable()
class BaseResponse extends Object {
    final int id;

final int sellingPrice;
final int totalStock;
final String productName;
final String productDesc;
final List<Image> images;

BaseResponse(this.id, this.sellingPrice, this.totalStock, this.productName,
    this.productDesc, this.images);

factory BaseResponse.fromJson(Map<String, dynamic> json) => _$BaseResponseFromJson(json);

Map<String, dynamic> toJson() => _$BaseResponseToJson(this);
}

@JsonSerializable()
 class Image extends Object {
    final int id;
    final String image;
//  final int product_id;

   Image(this.id, this.image);
factory Image.fromJson(Map<String, dynamic> json) => _$ImageFromJson(json);
   Map<String, dynamic> toJson() => _$ImageToJson(this);
}

谁能帮我一下吗。我被困在这里了。我一直在尝试不同的方法,但都不管用。非常感谢。

共有1个答案

常英毅
2023-03-14

它看起来像数据是一个列表

你会想写这样的东西:

  final data = json.decode(res.body);
  List<BaseResponse> responses =
      data.map((j) => BaseResponse.fromJson(j)).toList();

 类似资料:
  • 我对Flutter编程非常陌生,我正在尝试导入一个本地JSON文件,其中包含书籍数据,如标题、作者、发布年份等。 最初我使用JSON-to-DART转换器来组装一个图书数据模型,现在我正在尝试创建一个函数,在该函数中,程序获取本地JSON文件,并使用类中的方法将数据解析为地图。 我遇到的问题是返回类型

  • 你好,我正在做一个api调用,在那里我得到了一系列的横幅。我正在犯错误- 横幅。飞奔 横幅。飞奔 api_base_助手。飞奔 得到你的横幅。飞奔

  • 因此,我创建了一个应用程序,通过api读取数据,并尝试解析JSON api 这是我的错误截图 我试着把它改成一个列表,但它仍然读取一个错误 这是我的密码大象。飞奔 如何纠正此错误?请帮忙

  • 我在尝试使用JSON_serializable序列化从internet获取的复杂JSON并使用FutureProvider将它们连接在一起时遇到了这个问题。这是json文件, 这是包含序列化类的代码, 获取json文件并将其转换为dart的未来提供者, 这是基因编码, 这是转换后的json文件显示的代码 当我试着运行这个项目时,我遇到了这个错误 i/flutter(23347): type'Lis

  • 我试图获得用户信息后,用户输入电子邮件和密码。我使用的api会返回我用户的额外信息,所以我尝试从中获取这些信息。 我试图解析这个json: 这些是我的模型: 这是我发送电子邮件、密码和获取用户数据的部分: 这是给我错误的部分 我打印了响应体,它给出了我想要的字符串,但是jsonDecode返回了一个列表,所以我不能使用它。我怎样才能解决这个问题?提前谢谢。

  • 我目前正在构建一个通过api读取数据的应用程序,我正在尝试从JSON占位符解析JSON api。 我为用户(users_future_model.dart)做了一个模型类: 这是将json读入小部件的main.dart: 这是我试图阅读的JSON信息,尽管它只是其中的一小部分: 我当前遇到的错误是: 如何纠正此错误?