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

颤振错误:列表不是映射类型的子类型

端木淇
2023-03-14

我目前正在构建一个应用程序,通过医疗api读取数据,我试图解析JSON。

我为用户创建了一个模型类:

class UserModel {
  String id;
  String nome;
  MedicoModel medico;
  MedicosModel medicos;
  String token;

  String error;

  UserModel(
      {this.id, this.nome, this.token, this.medico, this.medicos, this.error});

  UserModel.fromJson(Map<String, dynamic> json)
      : id = json['login'],
        nome = json['nome'],
        token = json['token'],
        medico = MedicoModel.fromJson(json['medico']),
        medicos = MedicosModel.fromJson(json['medicos']),
        error = '';

  Map<String, dynamic> toJson() => {
        'id': id,
        'nome': nome,
        'token': token,
        'medico': medico.toJson(),
        'medicos': medicos.toJson(),
      };

  UserModel.withError(String errorValue)
      : id = null,
        nome = null,
        token = null,
        medico = null,
        medicos = null,
        error = errorValue;
}

class MedicoModel {
  String crm;
  String nome;

  MedicoModel({this.crm, this.nome});

  MedicoModel.fromJson(Map<String, dynamic> json)
      : crm = json['crm'],
        nome = json['nome'];

  Map<String, dynamic> toJson() => {
        'crm': crm,
        'nome': nome,
      };
}

class MedicosModel {
  List<MedicoModel> medicos;

  MedicosModel({this.medicos});

  MedicosModel.fromJson(Map<String, dynamic> json)
      : medicos = (json['medicos'] as List)
            .map((e) => MedicoModel.fromJson(e))
            .toList();

  Map<String, dynamic> toJson() => {
        'medicos': medicos,
      };
}

这是我试图阅读的JSON信息:

{
  "login": "12345",
  "medico": {
    "crm": "12345",
    "nome": "XXX"
  },
  "medicos": [
    {
      "crm": "12345",
      "nome": "XXX"
    }
  ],
  "token": "5ad0c78d8fc1233b48526e0893cf91c912345706",
  "nome": "XXX"
}

但是我得到的错误列表不是Map类型的子类型

如何修复此错误?

共有1个答案

周承天
2023-03-14

请看看这段代码,您需要通过以下方式更改您的代码:

 MedicosModel.fromJson(List<dynamic> jsonList)
      : medicos = jsonList['medicos']
            .map((e) => MedicoModel.fromJson(e))
            .toList();
 类似资料:
  • 当我尝试解码json时,它会给我错误。 我的模范班 功能在我使用它的地方 json数据

  • 我正面临着一个奇怪的颤动错误。我使用json序列化。 这是我的密码 我的web api发送的数据如下 这是数组的数组。 生成错误的代码是 它给出的错误 JSON数据这里是JSON数据格式的屏幕截图

  • 我有一个问题,因为2小时。我有这个错误,我看到了更多的主题,但我不能解决它。 消息:_TypeError(类型列表不是类型映射的子类型)颤动 我的模型: 我的主题屏幕: 我尝试了更多的教程和不同的主题,但我有相同的错误。。。 非常感谢。

  • 我的JSON有点像这样: 我的模型类: 这是我的api调用: 如何获取图像。小班?如果我需要澄清我的问题,请告诉我。我得到的错误列表不是Map类型的子类型

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

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