一、不写bean类,直接解析为Map利用键值对来取值。
如果json很复杂,层级很多,使用创建bean类的方式要写一个很大的bean,甚至bean类里的某一个List里的item的变量名都不一样,可以把json解析为一个Map,Map的key是String,value不一定,可以是String、List、Map,使用的时候把Object强转为对应的String、List、Map(注:如果是List,泛型是Map<String,Object>,Map是<String,Map<String, Object>>)
Type type = new TypeToken<Map<String, Object>>() {}.getType();
Map<String, Object> map = gson.fromJson(json, type);
二 、json格式固定,有固定的值,比如errorcode,message等等,其他的数据放在data中,可以定义这样一个类
public class BaseNetDataBean<T> {
private String errorno;
private String message;
private T data;
......
}
解析的时候
//这里的T需要替换一下,定义一个需要的实体bean类就可以了
Type type = new TypeToken<BaseNetDataBean<T>>() {}.getType();
网友评论