异常
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
中配置