package com.springSecurity.gson;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
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;/**
*
* @author jiangminyan
* @date 2016年10月17日*/
public classGsonUtil {private static Gson gson = null;static{if (gson == null) {
gson= newGson();
}
}privateGsonUtil() {
}/**
* 将object对象转成json字符串
*
* @param object
* @return*/
public static String GsonString(Object object) {
String gsonString= null;if (gson != null) {
gsonString= gson.toJson(object);
}returngsonString;
}/**
* 将gsonString转成泛型bean
*
* @param gsonString
* @param cls
* @return*/
public static T GsonToBean(String gsonString, Classcls) {
T t= null;if (gson != null) {
t=gson.fromJson(gsonString, cls);
}returnt;
}/**
* 转成list
* 泛型在编译期类型被擦除导致报错
* @param gsonString
* @param cls
* @return*/
public static List GsonToList(String gsonString, Classcls) {
List list = null;if (gson != null) {
list= gson.fromJson(gsonString, new TypeToken>() {
}.getType());
}returnlist;
}/**
* 转成list
* 解决泛型问题
* @param json
* @param cls
* @param
* @return*/
public static List jsonToList(String json, Classcls) {
Gson gson= newGson();
List list = new ArrayList();
JsonArray array= newJsonParser().parse(json).getAsJsonArray();for(final JsonElement elem : array){
list.add(gson.fromJson(elem, cls));
}returnlist;
}/**
* 转成list中有map的
*
* @param gsonString
* @return*/
public static List>GsonToListMaps(String gsonString) {
List> list = null;if (gson != null) {
list=gson.fromJson(gsonString,new TypeToken>>() {
}.getType());
}returnlist;
}/**
* 转成map的
*
* @param gsonString
* @return*/
public static MapGsonToMaps(String gsonString) {
Map map = null;if (gson != null) {
map= gson.fromJson(gsonString, new TypeToken>() {
}.getType());
}returnmap;
}
}