问题描述:使用Gson解析Json时,解析出错,无法映射为对象,报错提示:JsonSyntaxException: java.lang.IllegalStateException
解决途径:
1.查看报错信息,由于初学者,因此只看出来Gson解析有问题,打印http传回的json数据的确没问题。
2.搜索Gson的使用方法,看到别人做的好像很简单,建实体类,new一个Gson对象,用fromJson映射,做了多次无法解决问题。
3.直到搜到郭霖大神的volley用法详解的时候,其中有一章是自定义volley中的GsonRequest,写了天气中的小例子,我仔细观察发现Json多个嵌套对象的时候,嵌套对象的类型是其属性集合的类名,而不是我所认为的List类型`
public class Status {
private int errNum;
public int getErrNum() {
return errNum;
}
public void setErrNum(int errNum) {
this.errNum = errNum;
}
public String getErrMsg() {
return errMsg;
}
public void setErrMsg(String errMsg) {
this.errMsg = errMsg;
}
public RetData getRetData() {
return retData;
}
public void setRetData(RetData retData) {
this.retData = retData;
}
private String errMsg;
private RetData retData;
}
//嵌套对象的属性
<