当我得到一个api时,控制台显示了一个错误,如下所示
E/颤振(10838):错误:flutter/lib/ui/ui_dart_state.cc(157)未处理异常: FormatException:意外字符(在字符1处)
E/颤振(10838):“响应”实例
E/颤振(10838):^
E/颤振(10838):
我就是这样得到api的
Future _fetchPost() async {
http.Response response = await http.get(url);
if (response.statusCode == 200) {
print(response.statusCode);
print(json.decode(response.body));
} else {
print(response.statusCode);
}
setState(() {
String jsonsDataString = response.toString();
_data = jsonDecode(jsonsDataString);
print(_data.toString());
});
return "Success";
}状态代码返回200和一些api
I/颤振(10838):200
我/颤栗(10838):[{restaurant_id: 1010000001,restaurant_name: Cafe,restaurant_image:http://.unicomerp./1010000001.jpg,table_id: 1,table_name:利雅得-e 01,branch_name: I Cah,苗圃:http://snapittaitt.net/api/menu/10/?org=000001&branch_id=100it=10&offset=20&lang=en,table_menu_list:[{menu_category:沙拉和汤,menu_category_id: 11,menu_category_image:http://res.net/iRet/Item/ItemGroup_11.jpg,nexturl:http://snapittappt.net/api/menu/20/?org=1010000001&branch_id=10000001&menuCat=it=10&offset=20&lang=en,category_dishes:[dish_id: 100001,dish_name: Spinach,dish_price: 7.95,dish_image:http://restaurants.umerp.net///1000000/Items/100000001.jpg,dish_currency: SAR,dish_calories: 15.0,dish_description:新鲜菠菜,蘑菇和硬蛋配上温培根醋醋,dish_Availability:真,dish_Type: 2,nexturl:http://snapitt
E/颤振(10838):错误:flutter/lib/ui/ui_dart_state.cc(157)未处理异常: FormatException:意外字符(在字符1处)
E/颤振(10838):“响应”实例
E/颤振(10838):^
E/颤振(10838):
如何解决这个问题以实现获取所有api?
任何建议都会有帮助:)
发布于 2019-12-31 05:05:11
改变这一点:
String jsonsDataString = response.toString(); // Error: toString of Response is assigned to jsonDataString.
_data = jsonDecode(jsonsDataString);
print(_data.toString());对此:
String jsonsDataString = response.body.toString(); // toString of Response's body is assigned to jsonDataString
_data = jsonDecode(jsonsDataString);
print(_data.toString());我希望这有帮助,如果有任何疑问,请评论。
发布于 2021-07-25 11:57:19
我也遇到了同样的问题,但原因不同。由于这是一个非常常见的问题,我认为在此提出来将有助于其他寻求解决同样问题的人。
我正在传递一个JSON的Map,其中需要String。所以,我做了这个:
json.encode(variableWithMapData)我的问题解决了。
发布于 2021-06-28 04:31:41
我找到这个案子了。因此,我将使用enter转换为字符串响应,如下所示:
String responseapi = response.body.toString().replaceAll("\n","");
_data = jsonDecode(responseapi);
print(_data);非常感谢你帮助我的朋友
https://stackoverflow.com/questions/59539777
复制相似问题