工具类_GsonUtils
import java.lang.reflect.Type;
import com.google.gson.Gson;
/**
* Gson工具类 2015-02-01<br/>
* 1,把json转换成Object<br/>
* 2,把Object转换成json<br/>
* 3,该方法主要功能是将json字符串转换成指定类型的对象<br/>
* @author lipanquan
*
*/
public final class GsonUtils {
/**
* 工具类对象<br/>
* (单例)
*/
private static final GsonUtils gsonUtils = new GsonUtils();
/**
* Gson对象
*/
private static final Gson gson = new Gson();
/**
* 私有构造
*/
private GsonUtils() {
}
/**
* 对外提供静态公有的方法
*
* @return 本类对象
*/
public static GsonUtils getInstance() {
return gsonUtils;
}
/**
* 1,该方法主要功能是将json字符串转换成Java类对象
*
* @param json
* json字符串
* @param cls
* Java类的字节码对象
* @return 解析后的Java类对象
* @throws Exception
* 如果解析中出了问题,或者是json不完整都会抛出这个异常信息
*/
public <T> T j2O(String json, Class<T> cls) throws Exception {
return gson.fromJson(json, cls);
}
/**
* 2,该方法主要功能是将Java类对象转换成json字符串
*
* @param obj
* Java对象
* @return json字符串
*/
public String o2J(Object obj) {
return gson.toJson(obj);
}
/**
* 3,该方法主要功能是将json字符串转换成指定类型的对象
*
* @param json
* json字符串
* @param typeOfT
* 指定类型
* @return 指定类型的对象
*/
public <T> T j2T(String json, Type typeOfT) throws Exception {
return gson.fromJson(json, typeOfT);
}
}
工具类_GsonUtils的更多相关文章
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- [转]Java常用工具类集合
转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Guava库介绍之实用工具类
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
- Java程序员的日常—— Arrays工具类的使用
这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...
- .net使用正则表达式校验、匹配字符工具类
开发程序离不开数据的校验,这里整理了一些数据的校验.匹配的方法: /// <summary> /// 字符(串)验证.匹配工具类 /// </summary> public c ...
- WebUtils-网络请求工具类
网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...
- JAVA 日期格式工具类DateUtil.java
DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...
随机推荐
- LINUX 使用DBCA创建ORACLE数据库
- Windows中lib和DLL区别和使用
本文转载自:http://www.cppblog.com/amazon/archive/2009/09/04/95318.html 共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的 ...
- 怎么把网页保存为pdf文件
不就是用chrome浏览器打印功能,然后保存为pdf就可以了吗? 对于一些结构简单的比如,RFC文档这样操作一般没什么问题,对于一些有浮动元素的网页就不好说了,必须先用chrome的审查元素把一些不必 ...
- poj3420 Quad Tiling
传送门 题目大意 问讲一个大小为4*n的棋盘用无数1*2的骨牌不重叠覆盖有多少种方案. 分析 我们考虑可以将长为n的棋盘分为两块,一个大小为n-i,另一个大小为i,而为了避免对于不同的i构造出相同的情 ...
- ARC100D Equal Cut
传送门 分析 首先我们想到的肯定是n^3暴力枚举,但这显然不行.然后我们想到的就是二分了,但这题没有什么单调性,所以二分也不行.这时候我就想到了先枚举找出p2的位置再在它的左右两边找到p1和p3,但是 ...
- mingw和libcurl
想用curl来做rest的客户端.所以就研究下这方面东西. 1:安装mingw 为什么用mingw,小巧,必vs快,gcc了解的多一些, http://tdm-gcc.tdragon.net/down ...
- netty中的PlatformDependent
通过类名就知道这是一个平台有关的类,通过对该类的学习可以帮助我们实现一个跨平台的应用.但是有些方法放的实现不是很好,比如:isWindows0.通过File的separator就可以判断出来.没必要那 ...
- js 常用公共方法
1.判断是否为空 function isNull(arg1) { return !arg1 && arg1!==0 && typeof arg1!=="boo ...
- [学习笔记]fork写实复制
#include<stdio.h> #include<stdlib.h> #include<string.h> #include <unistd.h> ...
- Adb无法连接Genymotion
后来注意到Genymotion启动的时候adb无法正常使用,反复调用adb启动新的server也无法解决 解决起来很简单.打开Genymotion设置界面,进入ADB标签,选中Use custom A ...