大家早上好,我想就我得到的以下错误寻求帮助,我已经研究过了,我做了一些方法来尝试修复它,但没有成功,所以我来这里问你帮助,如果你能帮助我。
我想发送数据,以便在应用程序中使用它
从 api 获取方法
class GetPatientsInfo {
static Future<List<PatientsInfo>> getPatients(authtoken, patientId) async {
var patientsResponse;
var response = await http.get(
url + '/patients/$patientId',
headers: {'Authorization': authtoken, 'patientId': patientId},
);
var mapResponse = json.decode(response.body);
if (response.statusCode == 200) {
var response = List<PatientsInfo>.from(mapResponse.map((i) => PatientsInfo.fromJson(i)));
return response;
} else if (response.statusCode == 401) {
// response = null;
}
return patientsResponse;
}
}
方法返回
{
"addressCity": "city",
"addressZip": "00000",
"appointment_id": "328",
"connectedUsers": [
{
"info": {
"picture": "https://weavers.space/img/default_user.jpg"
},
"user": {
"appointment_id": "",
"degree": "MB.BS",
"id": "85",
"name": "Andrew Gerrard Hunger, MB.BS",
"phoneNumbers": [
{
"number": "999-900-0909",
"title": "Office"
},
{
"number": "999-999-9999",
"title": "Cell"
}
],
"picture": "https://weavers.space/img/default_user.jpg",
"role": "physician",
"specialty": "Dermatology",
"visit_date": ""
}
},
{
"info": {
"picture": "https://weavers.space/img/default_user.jpg"
},
"user": {
"appointment_id": "",
"degree": "MD",
"id": "87",
"name": "Jacob Martin, MD",
"phoneNumbers": [
{
"number": "355-698-9545",
"title": "Office"
},
{
"number": "999-999-9999",
"title": "Cell"
}
],
"picture": "https://weavers.space/img/default_user.jpg",
"role": "physician",
"specialty": "Anesthesia",
"visit_date": ""
}
},
{
"info": {
"picture": "https://weavers.space/img/default_user.jpg"
},
"user": {
"appointment_id": "",
"degree": "MD",
"id": "99",
"name": "Mary Ann, MD",
"phoneNumbers": [
{
"number": "344-678-8991",
"title": "Office"
},
{
"number": "219-682-6327",
"title": "Cell"
}
],
"picture": "https://weavers.space/img/default_user.jpg",
"role": "physician",
"specialty": "Dermatology",
"visit_date": ""
}
}
],
"dob": 1529366400000,
"first_name": "Gunther",
"gender": "female",
"homeAddr1": "Address",
"homeAddr2": "Address2",
"id": "29",
"last_name": "Beards",
"medical_data_level": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"medical_data_obj": [
{
"desc": "symptoms",
"id": 0,
"level": 0
},
{
"desc": "laboratory",
"id": 1,
"level": 0
},
{
"desc": "medicines",
"id": 2,
"level": 0
},
{
"desc": "vitals",
"id": 3,
"level": 0
},
{
"desc": "cardiomems",
"id": 4,
"level": 0
},
{
"desc": "images",
"id": 5,
"level": 0
},
{
"desc": "careguidelines",
"id": 6,
"level": 0
},
{
"desc": "fluidmetrics",
"id": 7,
"level": 0
},
{
"desc": "riskprofile",
"id": 8,
"level": 0
},
{
"desc": "performanceandutilization",
"id": 9,
"level": 0
},
{
"desc": "education",
"id": 10,
"level": 0
}
],
"name": "Gunther Beards",
"notification_level": 0,
"phoneNumbers": [
{
"number": "111-111-1111",
"title": "Cell"
},
{
"number": "111-111-1112",
"title": "Home"
}
],
"picture": "https://weavers.space/img/default_user.jpg",
"remote_monitoring": "Y",
"role": "patient",
"state": "North Carolina",
"visit_date": "2021-01-13 09:30"
}
模型
PatientsInfo patientsInfoFromJson(String str) => PatientsInfo.fromJson(json.decode(str));
String patientsInfoToJson(PatientsInfo data) => json.encode(data.toJson());
class PatientsInfo {
PatientsInfo({
this.addressCity,
this.addressZip,
this.appointmentId,
this.connectedUsers,
this.dob,
this.firstName,
this.gender,
this.homeAddr1,
this.homeAddr2,
this.id,
this.lastName,
this.medicalDataLevel,
this.medicalDataObj,
this.name,
this.notificationLevel,
this.phoneNumbers,
this.picture,
this.remoteMonitoring,
this.role,
this.state,
this.visitDate
});
String dictionary;
String addressCity;
String addressZip;
String appointmentId;
List<ConnectedUser> connectedUsers;
int dob;
String firstName;
String gender;
String homeAddr1;
String homeAddr2;
String id;
String lastName;
List<int> medicalDataLevel;
List<MedicalDataObj> medicalDataObj;
String name;
int notificationLevel;
List<PhoneNumber> phoneNumbers;
String picture;
String remoteMonitoring;
String role;
String state;
String visitDate;
factory PatientsInfo.fromJson(Map<String, dynamic> json) => PatientsInfo(
addressCity: json["addressCity"],
addressZip: json["addressZip"],
appointmentId: json["appointment_id"],
connectedUsers: List<ConnectedUser>.from(json["connectedUsers"].map((x) => ConnectedUser.fromJson(x))),
dob: json["dob"],
firstName: json["first_name"],
gender: json["gender"],
homeAddr1: json["homeAddr1"],
homeAddr2: json["homeAddr2"],
id: json["id"],
lastName: json["last_name"],
medicalDataLevel: List<int>.from(json["medical_data_level"].map((x) => x)),
medicalDataObj: List<MedicalDataObj>.from(json["medical_data_obj"].map((x) => MedicalDataObj.fromJson(x))),
name: json["name"],
notificationLevel: json["notification_level"],
phoneNumbers: List<PhoneNumber>.from(json["phoneNumbers"].map((x) => PhoneNumber.fromJson(x))),
picture: json["picture"],
remoteMonitoring: json["remote_monitoring"],
role: json["role"],
state: json["state"],
visitDate: json["visit_date"]
);
Map<String, dynamic> toJson() => {
"addressCity": addressCity,
"addressZip": addressZip,
"appointment_id": appointmentId,
"connectedUsers": List<dynamic>.from(connectedUsers.map((x) => x.toJson())),
"dob": dob,
"first_name": firstName,
"gender": gender,
"homeAddr1": homeAddr1,
"homeAddr2": homeAddr2,
"id": id,
"last_name": lastName,
"medical_data_level": List<dynamic>.from(medicalDataLevel.map((x) => x)),
"medical_data_obj": List<dynamic>.from(medicalDataObj.map((x) => x.toJson())),
"name": name,
"notification_level": notificationLevel,
"phoneNumbers": List<dynamic>.from(phoneNumbers.map((x) => x.toJson())),
"picture": picture,
"remote_monitoring": remoteMonitoring,
"role": role,
"state": state,
"visit_date": visitDate
};
}
class ConnectedUser {
ConnectedUser({
this.info,
this.user,
});
Info info;
User user;
factory ConnectedUser.fromJson(Map<String, dynamic> json) => ConnectedUser(
info: Info.fromJson(json["info"]),
user: User.fromJson(json["user"]),
);
Map<String, dynamic> toJson() => {
"info": info.toJson(),
"user": user.toJson(),
};
}
class Info {
Info({
this.picture,
});
String picture;
factory Info.fromJson(Map<String, dynamic> json) => Info(
picture: json["picture"],
);
Map<String, dynamic> toJson() => {
"picture": picture,
};
}
class User {
User({
this.appointmentId,
this.degree,
this.id,
this.name,
this.phoneNumbers,
this.picture,
this.role,
this.specialty,
this.visitDate,
});
String appointmentId;
String degree;
String id;
String name;
List<PhoneNumber> phoneNumbers;
String picture;
String role;
String specialty;
String visitDate;
factory User.fromJson(Map<String, dynamic> json) => User(
appointmentId: json["appointment_id"],
degree: json["degree"],
id: json["id"],
name: json["name"],
phoneNumbers: List<PhoneNumber>.from(json["phoneNumbers"].map((x) => PhoneNumber.fromJson(x))),
picture: json["picture"],
role: json["role"],
specialty: json["specialty"],
visitDate: json["visit_date"],
);
Map<String, dynamic> toJson() => {
"appointment_id": appointmentId,
"degree": degree,
"id": id,
"name": name,
"phoneNumbers": List<dynamic>.from(phoneNumbers.map((x) => x.toJson())),
"picture": picture,
"role": role,
"specialty": specialty,
"visit_date": visitDate,
};
}
class PhoneNumber {
PhoneNumber({
this.number,
this.title,
});
String number;
String title;
factory PhoneNumber.fromJson(Map<String, dynamic> json) => PhoneNumber(
number: json["number"],
title: json["title"],
);
Map<String, dynamic> toJson() => {
"number": number,
"title": title,
};
}
class MedicalDataObj {
MedicalDataObj({
this.desc,
this.id,
this.level,
});
String desc;
int id;
int level;
factory MedicalDataObj.fromJson(Map<String, dynamic> json) => MedicalDataObj(
desc: json["desc"],
id: json["id"],
level: json["level"],
);
Map<String, dynamic> toJson() => {
"desc": desc,
"id": id,
"level": level,
};
}
错误
Dart Unhandled Exception: type '(dynamic) => PatientsInfo' is not a subtype of type '(String, dynamic) => MapEntry<dynamic, dynamic>' of 'transform', stack trace: #0 GetPatientsInfo.getPatients