我在用Dio
为了使HTTP
request
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);
}
我正在解析的响应
{
"x_id": "home"
}
but json.decode(response.data)
正在抛出异常。
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'String'
奇怪的是当我更换Dio
with http.get(url)
then json.decode(response.body)
与相同的响应完美配合
您的响应数据已经是一个 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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)