[英]Flutter mapping json to model array 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>'`
[英]'_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List<dynamic>' flutter
我剛開始使用dart
和flutter
來使用api
。 我成功完成了幾個,但我覺得這個有點棘手。 因此,我正在努力顯示供用戶選擇的項目列表。 每個列表項上的文本應該是數據鍵。 點擊它后,它會顯示該索引的所有詳細信息。
這是我嘗試使用的響應。
回復
{
"status": "success",
"data": {
"Ikeja Electric (IKEDC)": {
"service_id": "ikeja-electric",
"type": [
"prepaid",
"postpaid"
]
},
"Eko Electric (EKEDC)": {
"service_id": "eko-electric",
"type": [
"prepaid",
"postpaid"
]
},
"Ibadan Electric (IBEDC)": {
"service_id": "ibadan-electric",
"type": [
"prepaid",
"postpaid"
]
},
"Kano Electric (KEDCO)": {
"service_id": "kano-electric",
"type": [
"prepaid",
"postpaid"
]
},
"Jos Electricity Distribution (JED)": {
"service_id": "jos-electric",
"type": [
"prepaid",
"postpaid"
]
},
"Port-Harcourt Electric (PHED)": {
"service_id": "portharcourt-electric",
"type": [
"prepaid",
"postpaid"
]
}
}
}
獲取請求
Map<String, dynamic> networks;
...
fetchNetworks() async{
var uri = ApiService.BASE_URL + "endpoint";
try {
final response = await http.get(
uri,
headers: {'Content-Type': 'application/json','Authorization': 'Bearer ' + _bloc.bearerToken, },
);
final responseJson = json.decode(response.body);
print(responseJson.toString());
setState(() {
widget.networks = responseJson["data"];
});
return responseJson;
} catch (exception) {
print(exception);
}
}
}
I
如果要使用模型,我該如何相應地構建它?
我建議使用這個庫https://github.com/k-paxian/dart-json-mapper它可以讓你很好地將復雜的 JSON 映射到 Dart 類
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.