Gson解析,利用TypeToken

一、不写bean类,直接解析为Map利用键值对来取值。

如果json很复杂,层级很多,使用创建bean类的方式要写一个很大的bean,甚至bean类里的某一个List里的item的变量名都不一样,可以把json解析为一个Map,Map的key是String,value不一定,可以是String、List、Map,使用的时候把Object强转为对应的String、List、Map(注:如果是List,泛型是Map,Map是>)

Type type = new TypeToken>() {}.getType();
Map map = gson.fromJson(json, type);

二 、json格式固定,有固定的值,比如errorcode,message等等,其他的数据放在data中,可以定义这样一个类

public class BaseNetDataBean {
    private String errorno;
    private String message;
    private T data;
    ......
}

解析的时候

//这里的T需要替换一下,定义一个需要的实体bean类就可以了
Type type  = new TypeToken>() {}.getType();

你可能感兴趣的:(Gson解析,利用TypeToken)