0
点赞
收藏
分享

微信扫一扫

Gson、Fastjson解析里的Type

诗远 2022-03-22 阅读 65

1、获取Type使用如下

//获取
//普通object
Type type = new ParseType<User>() {}.getType();
//列表list
Type type = new ParseType<List<User>>() {}.getType();
//复杂的
Type type = new ParseType<NetReslult<List<User>>>() {}.getType();

//解析
User user =  JSON.parseObject(jsonString,type);  //fastjson
User user = gson.fromJson(jsonString, type);        //gson

NetReslult<List<User>> netResult = JSON.parseObject(jsonString, type);
NetReslult<List<User>> netResult = gson.fromJson(jsonString, type);

注意new出来的是ParseType之类的对象 new ParseType() {},通过泛型这种方式来获取Type类型必须用子类的对象,看清楚了,所有new的ParseType后面都有{}所以生成的是子类的对象。

2、解析使用

public class SyncRequest<T> extends ParseType<T> {

    public T syncRequest(String url,Params  params) throws Exception{
        String jsonString = 网络请求代码略...;
        T parse = JSON.parseObject(jsonString,mType);
        return parse;
    }
}

3、请求+解析:

User user = new SyncRequest<User>().syncRequest(url,params);
NetReslult<List<User>> data =  new SyncRequest<NetReslult<List<User>>>(){}.syncRequest(url,params);
举报

相关推荐

0 条评论