码迷,mamicode.com
首页 > 其他好文 > 详细

Gson解析POJO类中的泛型参数

时间:2015-02-12 00:35:10      阅读:446      评论:0      收藏:0      [点我收藏+]

标签:

在开发Android与API交互的时候,使用Json格式传输,遇到了这样一个情况,返回数据格式POJO类如下:

public class ApiResult<T> {
    private int ret;
    private String msg;
    private T data;

    public int getRet() {
        return ret;
    }

    public void setRet(int ret) {
        this.ret = ret;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

}

其中data参数是根据不同的Api返回的不同的数据,这时候就需要用gson来解析泛型。

之前想到解析集合数组的时候是这样调用的

 gson.fromJson(str, new TypeToken<ArrayList<MyObject>>(){}.getType());

所以照葫芦画瓢

 gson.fromJson(str, new TypeToken<ApiResult<MyObject>>(){}.getType());

就实现了!

原理就是TypeToken使用反射实现了运行时检测类型。

具体可看源码以及文档

http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html

https://code.google.com/p/google-gson/source/browse/trunk/gson/src/main/java/com/google/gson/reflect/TypeToken.java

Gson解析POJO类中的泛型参数

标签:

原文地址:http://www.cnblogs.com/leestar54/p/4287111.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!