【发布时间】:2021-03-09 11:45:12
【问题描述】:
我正在尝试从服务器获取 JSON 响应并将其输出到 Dart 对象。
在这个类中,我从服务器获取数据:
class GetAllServicePostMethod extends ChangeNotifier {
List<AllServices> _getService;
List<AllServices> get allData => _getService;
set allData(List<AllServices> val) {
_getService = val;
notifyListeners();
}
Future<List<AllServices>> getInitService() async {
try {
var url = "url";
Map<String, String> headers = {
"auth-token": await SaveData.getDataAuthorization('Success')
};
var response = await http.get(url, headers: headers);
Map<String, dynamic> map = jsonDecode(response.body);
List<dynamic> res = map["data"];
List<AllServices> data = [];
for (var i = 1; i == 1 ; i++) {
print(allServicesFromJson(res[i]).runtimeType);
var initData = allServicesFromJson(res[i]);
data.add(initData);
}
allData = data;
return allData;
} catch (e) {
print(e);
}
}
当我想将此 jeson 转换为 dart 对象时出现错误:type '_InternalLinkedHashMap
我的邮递员从服务器输出就像
Future<List<AllServices>> getInitService() async {
try {
var url = "http://185.73.112.57/users/services";
Map<String, String> headers = {
"auth-token": await SaveData.getDataAuthorization('Success')
};
var response = await http.get(url, headers: headers);
Map<String, dynamic> map = jsonDecode(response.body);
List<dynamic> res = map["data"];
List<AllServices> data = [];
for (var i = 1; i == 1 ; i++) {
print(allServicesFromJson(res[i]).runtimeType);
var initData = allServicesFromJson(res[i]);
data.add(initData);
}
allData = data;
return allData;
} catch (e) {
print(e);
}
} }
我的响应是一个 json 对象,例如:
"data": [
{
"_id": "5fb8afeb10638586f271ee19",
"serviceName": "a",
"ambulanceInfo": {
"_id": "5fb8afeb10638586f271ee1a",
"services": [
{
"_id": "5fb8afeb10638586f271ee1b",
"serviceName": "code",
"status": true
},
{
"_id": "5fb8afeb10638586f271ee1c",
"serviceName": "withoutcode",
"status": true
}
],
"percent": 30
},
"sendSMS": true,
"sendEmail": true,
"status": true,
"__v": 0
},
{
"_id": "5fb8b03210638586f271ee24",
"serviceName": "b",
"laboratoryInfo": {
"_id": "5fb8b03210638586f271ee25",
"services": [
{
"_id": "5fb8b03210638586f271ee26",
"serviceName": " test",
"status": true
}
],
"percent": 30
},
"sendSMS": true,
"sendEmail": true,
"status": true,
"__v": 0
},
谁能帮我转换一下?
【问题讨论】: