为了方便的接收多个接口返回的不同数据,我们可以通过定义泛型的方法,避免创建冗余的代码。
public class GongJiJinData<T> {
private String code;
List<T> data;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public List<T> getData() {
return data;
}
public void setData(List<T> data) {
this.data = data;
}
}
这次调用接口的处理数据的过程中遇到了异常:
Exception in thread "main" java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to example.GongJiJinInfo
json转java对象出现异常,可是打断点数据都获取到了,字段也没有问题。后面发现这个list里的对象有问题,不是我自己定义的而是JSONObject对象,这就导致了异常的产生。
就是说json字符串转换为对象后,对象里的list没有按照我定义的转换为GongJiJinInfo对象。
这种情况可以采用fastjson框架的TypeReference就可以将json串转成定义好的泛型对象。
到此问题解决。