天天看点

android json解析java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1报错

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

public class AllSearchPageParser extends BaseParser<AllSearchPageData>{
	@Override
	public AllSearchPageData parse(String data) throws Exception {
		// TODO Auto-generated method stub
		if(TextUtils.isEmpty(data)){
//			LogUtil.i("dangbeihttp",data);
			return null;
		}else{
//			LogUtil.i("dangbeihttp",data);
		}
		List<AllSearchDataBean> res =  new Gson().fromJson(data,new TypeToken<List<AllSearchDataBean>>() {}.getType());  
		AllSearchPageData result = new AllSearchPageData();
		result.setListAllSearchData(res);
		return result;
	}
}