Gson封装
来源:互联网 发布:阿里云香港节点ip 编辑:程序博客网 时间:2024/06/12 15:13
Gson封装
/** * Created by fengan on 2017/7/6/006. */import com.google.gson.Gson;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonParser;import com.google.gson.reflect.TypeToken;import java.util.ArrayList;import java.util.List;import java.util.Map;public class GsonUtil { private static Gson gson = null; static { if (gson == null) { gson = new Gson(); } } private GsonUtil() { } /** * 转成json * * @param object * @return */ public static String GsonString(Object object) { String gsonString = null; if (gson != null) { gsonString = gson.toJson(object); } return gsonString; } /** * 转成bean * * @param gsonString * @param cls * @return */ public static <T> T GsonToBean(String gsonString, Class<T> cls) { T t = null; if (gson != null) { t = gson.fromJson(gsonString, cls); } return t; } /** * 转成list * 泛型在编译期类型被擦除导致报错 * * @param gsonString * @param cls * @return */ public static <T> List<T> GsonToList(String gsonString, Class<T> cls) { List<T> list = null; if (gson != null) { list = gson.fromJson(gsonString, new TypeToken<List<T>>() { }.getType()); } return list; } /** * 转成list * 解决泛型问题 * * @param json * @param cls * @param <T> * @return */ public static <T> List<T> jsonToList(String json, Class<T> cls) { Gson gson = new Gson(); List<T> list = new ArrayList<T>(); JsonArray array = new JsonParser().parse(json).getAsJsonArray(); for (final JsonElement elem : array) { list.add(gson.fromJson(elem, cls)); } return list; } /** * 转成list中有map的 * * @param gsonString * @return */ public static <T> List<Map<String, T>> GsonToListMaps(String gsonString) { List<Map<String, T>> list = null; if (gson != null) { list = gson.fromJson(gsonString, new TypeToken<List<Map<String, T>>>() { }.getType()); } return list; } /** * 转成map的 * * @param gsonString * @return */ public static <T> Map<String, T> GsonToMaps(String gsonString) { Map<String, T> map = null; if (gson != null) { map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() { }.getType()); } return map; }}
阅读全文
0 0
- Gson 封装
- Gson封装
- Gson解析和封装
- gson相关封装解析
- Gson 解析工具封装
- Gson封装的一个类
- Gson使用扩展及封装
- 搞定Gson泛型封装
- 开源中国Gson解析封装
- Gson jar常用API的封装
- android之Gson解析json的封装
- Gson 封装,json从此很简单
- Gson 封装,json从此很简单
- Android工具类之Gson封装类
- Gson简单过滤工具类封装
- Gson解析和封装json数据
- Gson 将list封装成json
- Android Volley+OkHttp3+Gson 开源库的封装
- 利用R整合数据
- 定时ajax获取日志(easyui进度条+js滚动条)
- 面向对象的三大特性之多态-java版
- RunTime应用--数据模型转换
- 【poj】 2480 Longge's problem (欧拉函数)
- Gson封装
- Codeforces Round #426 (Div. 2) D. The Bakery(DP+线段树维护)
- 在cmd下运行Python脚本+如何使用Python Shell
- 解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX 标签: pythonco
- HDU
- vim常用操作
- (转)gzib等压缩算法原理详解
- Linux批量删除包含某个关键字的进程
- HP-Socket v5.0.1:支持 IPv6 及多 SSL 证书