Retrofit com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept

报错:

com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $

原因:是接口返回来的原始数据和要转换成的数据格式不对应导致;

例如我出错的问题如下:

比如接口报错返回一个Html,而且Retrofit请求接口方法,数据要解析成List<ResStoreList>格式的数据;

 解决办法:

1,如果刚开始调试接口,那就是Android端和服务端没有约定好接口返回的数据格式;统一数据格式即可;

如果Android端发现不了问题,可以把Retrofit接收端的接口返回数据改成ResponseBody对象这样不管接口返回什么样的数据,都可以解析得到,不会报错了,然后可以根据数据生成具体的对象;

 2,如果是已在使用的接口,需要确认一下接口返回来的数据是否有变化;或者是否接口报错导致Retrofit解析错误;

猜你喜欢

转载自blog.csdn.net/ezconn/article/details/127497836