参考地址:http://blog.csdn.net/sunxiaogang0214/article/details/62216257
很明显,字面意思,Gson解析异常。
出现这个的原因多是Gson串不标准,甚至是返回乱码,这些都需要后台去处理。
我遇到这个问题遇到过2次。
第一次:网页测试都是好的,正常解析。我甚至找了好几个小时的程序代码。都没有找出问题来。当我把网页测试的json串,复制用GsonFromat去解析,发现这个串的前面多了2个不知名字符,我猜,应该是一个空格,导致解析检查出现问题。
第二次:服务端返回直接乱码。
由于我是直接显示文本,解决方法
1.返回类型使用 ResponseBody
public interface GetWanStatusApi{ @GET("v1/802.11/wan_status") Call<ResponseBody> getData(); }2.在返回成功时解析
@Override public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { if(response != null){ if(200 == response.code()){ try { String data = response.body().string(); StringBuilder result = new StringBuilder(); for (String line: data.split("\n")) { result.append(line.trim()); result.append("\n"); } tvWanStatus.setText(result.toString()); } catch (IOException e) { e.printStackTrace(); } } } }