首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振-未处理的异常: FormatException:意外字符(在字符1处)

颤振-未处理的异常: FormatException:意外字符(在字符1处)
EN

Stack Overflow用户
提问于 2019-12-31 04:59:07
回答 4查看 58.5K关注 0票数 7

当我得到一个api时,控制台显示了一个错误,如下所示

E/颤振(10838):错误:flutter/lib/ui/ui_dart_state.cc(157)未处理异常: FormatException:意外字符(在字符1处)

E/颤振(10838):“响应”实例

E/颤振(10838):^

E/颤振(10838):

我就是这样得到api的

代码语言:javascript
复制
 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?

任何建议都会有帮助:)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-12-31 05:05:11

改变这一点:

代码语言:javascript
复制
String jsonsDataString = response.toString(); // Error: toString of Response is assigned to jsonDataString.
_data = jsonDecode(jsonsDataString);
print(_data.toString());

对此:

代码语言:javascript
复制
String jsonsDataString = response.body.toString(); // toString of Response's body is assigned to jsonDataString
_data = jsonDecode(jsonsDataString);
print(_data.toString());

我希望这有帮助,如果有任何疑问,请评论。

票数 9
EN

Stack Overflow用户

发布于 2021-07-25 11:57:19

我也遇到了同样的问题,但原因不同。由于这是一个非常常见的问题,我认为在此提出来将有助于其他寻求解决同样问题的人。

我正在传递一个JSON的Map,其中需要String。所以,我做了这个:

代码语言:javascript
复制
json.encode(variableWithMapData)

我的问题解决了。

票数 7
EN

Stack Overflow用户

发布于 2021-06-28 04:31:41

我找到这个案子了。因此,我将使用enter转换为字符串响应,如下所示:

代码语言:javascript
复制
String responseapi = response.body.toString().replaceAll("\n","");
_data = jsonDecode(responseapi);
print(_data);

非常感谢你帮助我的朋友

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59539777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档