android json解析java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1报错_android中使用gson进行转换时提示java.lang.illegalstateexcepti

今天遇见json解析的问题,用的是google的gson解析,后来发现后台返回的json是一个集合而且json是不带key的,但是我这边二次封装成了要返回一个对象,当时就无语,这一般有jsonToObject,jsonToList,但是二次封装打包成了jar,不太好改,我同事想了一个办法就是在用一个对象去维护这个集合,还有一个解决方法是让后台外层多放一个对象,这样也能解决,

  1. public class AllSearchPageParser extends BaseParser<AllSearchPageData>{
  2. @Override
  3. public AllSearchPageData parse(String data) throws Exception {
  4. // TODO Auto-generated method stub
  5. if(TextUtils.isEmpty(data)){
  6. // LogUtil.i("dangbeihttp",data);
  7. return null;
  8. }else{
  9. // LogUtil.i("dangbeihttp",data);
  10. }
  11. List<AllSearchDataBean> res = new Gson().fromJson(data,new TypeToken<List<AllSearchDataBean>>() {}.getType());
  12. AllSearchPageData result = new AllSearchPageData();
  13. result.setListAllSearchData(res);
  14. return result;
  15. }
  16. }