具体异常如下:
com.google.gson.JsonSyntaxException:Java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 38 path $.extend[0];
意思是:你所定好解析Json的规则要求开始是 ARRAY,但实际上你请求的Json数据开始确是 OBJECT
出现这种错误,建议从以下两个方向着手:
1.看一下你所写的Bean类的参数类型和返回值;
2.看一下你写的网络框架中制定的泛型;
我的错误是由于泛型制定错误引起的。
这是我请求到的Json字符串
{"code":0,"message":"操作成功","result":{"PHOTOMOB":"http://xxxxxxxxxx/xxxxxxxx/pub/images/2017/0518/14951038082681061_0.jpg","MOBILENO":"185xxxxxxxxxx","USERID":"185xxxxxxxx","NICKNAME":"Kingsir"}}
错误的泛型:
正确的泛型:
BaseBean是每个Json字符串都会有的,这个是必须的,但不同的是,有的result字段里是个集合,有的是个对象,所以为了避免麻烦,可以直接使用BaseBean<Object>来接,回想起来是个很小的错误,却耽误了时间,记下来增加自己的道行,以免下次再遇到的时候重蹈覆辙