• Gson解析POJO类中的泛型参数


    在开发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

  • 相关阅读:
    个人任务
    个人任务。。
    个人任务。
    个人任务
    未来周计划(一)
    澡堂人数实时查询助手的NABC分析
    react 中的fragments
    数组
    如何区分对象、数组、null
    数组的并集,交集,差集的实现
  • 原文地址:https://www.cnblogs.com/leestar54/p/4287111.html
Copyright © 2020-2023  润新知