首页 > 其他 > 详细

Gson解析POJO类中的泛型参数

时间:2015-02-12 00:33:07      阅读:1091      评论: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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!