异常

Unhandled Exception: FormatException: Unexpected character (at character 2)

分析

flutter json报以上错误,我这里是请求登录的接口,登录成功data中返回个人信息,失败data为null。

当出现这个异常的时候,首先的直觉就是data类型定义错误,还尝试过泛型。。



实际上这个坑是​​dio​​埋下的,但是在报错中又毫无dio的身影。。



解决

​dio​​作为一个网络框架,一般在使用的时候我们都会做基础配置,其中有一项配置就是如何接收响应数据

responseType: ResponseType.json,

表示期望以哪种格式(方式)接受响应数据。接受4种类型 ​​json​​​, ​​stream​​​, ​​plain​​​, ​​bytes​​​. 默认值是 ​​json​​,



但是像登陆这种返回是密文形式的数据,我们就需要修改type为​​plain​​,转为字符串解析(utf8)。

responseType: ResponseType.plain,

​responseType​​​ 在 ​​options​​ 中配置