【发布时间】:2021-04-06 05:08:10
【问题描述】:
我目前正在构建一个应用程序来通过医疗 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
我该如何解决这个错误?
【问题讨论】: