我正在嘗試使用 Dio 從我的 API 獲取資料。
我想在我的螢屏小部件中列出資料,但出現錯誤。- _InternalLinkedHashMap<字串,動態>
這是我的螢屏小部件中的代碼:
List genders = [];
Future<void> getGenders() async {
try {
final list = await _apiService.getGenders();
genders = list;
log(list); // _InternalLinkedHashMap<String, dynamic>
} catch(e) {
//log('err parse rooms ${e}');
rethrow;
}
}
這是來自我的 ApiProvider 的代碼:
Future<dynamic> getGenders() async {
dio.interceptors.add(
LogInterceptor(requestBody: true, responseBody: true)
);
try {
return _request(
() => dio.get(
ApiPath.genders,
options: Options(
responseType: ResponseType.json
)
)
);
} on DioError catch (ex) {
log(ex.toString());
}
}
我嘗試將 ResponseType.json 更改為 ResponseType.plain,它停止回傳錯誤但回傳一個字串,我不知道如何將此字串設定為串列
這是 Api 的回應:
{"success":true,"total":3,"list":[{"uuid":"e4e1c54b-d0a8-46b8-8b9a-2098388dd539","name":"female"},{"uuid":"342f614e-3ff1-4b45-8872-fbc82155de01","name":"other"},{"uuid":"19700224-c424-4036-b4c7-f5bce08c6b4e","name":"male"}]}
uj5u.com熱心網友回復:
嘗試這個:
Future<void> getGenders() async {
try {
final response = await _apiService.getGenders();
genders = response['list'];
log(list); // _InternalLinkedHashMap<String, dynamic>
} catch(e) {
//log('err parse rooms ${e}');
rethrow;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/535786.html
標籤:扑
上一篇:在Python中比較時間