文档章节

gson 带泛型的转换

m
 modprobe
发布于 2016/11/08 09:57
字数 137
阅读 2
收藏 0

json转对象

public static <T> T json2Obj(String json, Class<T> cls) {
        Gson gson = new Gson();
        return gson.fromJson(json, cls);
    }

json转list object

很多例子根本都不是泛型的,还标榜泛型,真是误导他人

可以参考下面的方式来实现

public static <T> List<T> json2ListObj(String json, Class<T> cls) {
        List reList = new ArrayList();
        JsonElement jsonElement = new JsonParser().parse(json);
        JsonArray array = jsonElement.getAsJsonArray();
        Iterator iterator = array.iterator();
        Gson gson = new Gson();

        while (iterator.hasNext()) {
            JsonElement json2 = (JsonElement) iterator.next();
            T contact = gson.fromJson(json2, cls);
            //can set some values in contact, if required
            reList.add(contact);
        }

        return reList;
    }

 

 

不带泛型的json转list

 

gson.fromJson(json, new TypeToken<List<YourClass>>() {}.getType());

 

本文转载自:http://www.cnblogs.com/modprobe/p/4708646.html

共有 人打赏支持
m
粉丝 1
博文 35
码字总数 0
作品 0
轻触开源(三)-Gson项目源码解析_贰

转载请注明出处:https://my.oschina.net/u/874727/blog/750473 Q:1025250620 非墨上一篇文文章说到:Gson通过传入的TypeToken类型,遍历Gson变量中的factorys工厂,来生成一个TypeAdapter的转换...

-非墨-
2016/09/23
141
0
轻触开源(二)-Gson项目源码解析_壹

上篇文章<轻触开源-Java泛型Type类型的应用和实践(一)> https://my.oschina.net/u/874727/blog/747427 非墨写到JAVA的泛型机制,被用到很多的开源项目。在众多的开源项目中,Gson是很具有代表性...

-非墨-
2016/09/20
940
0
yidasanqian/json-util

json-util Json Util Integrate Jackson、Gson And Fastjson json-util工具类整合了Jackson、Gson和Fastjson库并统一API。 Env JDK7+ Maven Feature 统一调用API,形如。目前支持的转换的列表...

yidasanqian
05/01
0
0
你真的会用Retrofit2吗?Retrofit2完全教程

本文注目录: Retrofit入门 Retrofit注解详解 Gson与Converter RxJava与CallAdapter 自定义Converter 自定义CallAdapter 其它说明 前言 本文中的Retrofit均指代Retrofit2.0。 本文涉及到的代...

火云
2016/12/27
79
0
Gson转换泛型使用

public static Page getPage(Page page, Map parameter, String path,Class clazz) throws IOException { if (parameter == null) { parameter = new HashMap(); } parameter......

Lindp
2015/06/04
881
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Memcached启动参数详解

memcached -d -m 1024 -l 192.168.100.101 -p 11211 -P /tmp/memcached.pid -c 1024 -f 1.25 -n 80 -t 16 运行参数描述 -d:以守护(daemon)进程方式启动; -u:是运行Memcache的用户,例如 ......

月下狼
23分钟前
0
0
xgboost-kaggle

https://www.kaggle.com/dansbecker/xgboost This tutorial is part of the Learn Machine Learning series. In this step, you will learn how to build and optimize models with the powe......

tantexian
24分钟前
0
0
nginx学习八 代理服务

最常用的语法 proxy_pass Syntax: proxy_pass URL;Default: --Context:location.if in location,limit_exception 反向代理 例:/etc/nginx/conf.d/default.conf 反向代理(代理服务端)......

Romanceling
31分钟前
0
0
npm ERR! Unexpected end of JSON ...

npm install 报错: npm ERR! Unexpected end of JSON input while parsing near '..."^2.8.14"},"_hasShrin' npm ERR! A complete log of this run can be found in: ... 打开终端 命令: 第......

大_侠
36分钟前
0
0
Android中的设计模式之责任链模式

参考 《设计模式:可复用面向对象软件的基础 》5.1 Chain of responsibility 职责链 对象行为型模式 《Android源码设计模式解析与实战》第9章 使编程更有灵活性--责任链模式 意图 使多个对象...

newtrek
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部