我正在使用 Dio
来发出 HTTP
请求
var dio = Dio();
var response =
await dio.get(URL);
final responseBody = json.decode(response.data);
final statusCode = response.statusCode;
if (statusCode != 200 || responseBody == null) {
print("status code:$statusCode");
throw new ServerExceptionHandler(
"An error ocurred : [Status Code : $statusCode]", statusCode);
}
A response I am paring
{
"x_id": "home"
}
但是 json.decode(response.data)
抛出异常。
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'String'
奇怪的是,当我将 Dio
替换为 http.get(url)
时,json.decode(response.body)
完美运行同样的 react
最佳答案
您的响应数据已经是一个 map ,因此您可以简单地这样做:
var response = await dio.get(_url);
var responseBody = response.data;
print(responseBody);
这是显式类型:
Response<Map> response = await dio.get(_url);
Map responseBody = response.data;
print(responseBody);
关于android - DIO 响应解码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54366431/