package com.pccw.pmsutil.algorithmutil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import java.util.List;
import java.util.Map;
public class GJSON {
private static Gson gson = null;
//判断gson对象是否存在了,不存在则创建对象
static {
if (gson == null) {
gson= new GsonBuilder().setDateFormat(“yyyy-MM-dd
HH:mm:ss”).create();
}
}
//⽆参的私有构造⽅法
private GJSON() {
}
/**
- 将对象转成json格式
- @param object
- @return String
/
public static String GsonString(Object object) {
String gsonString = null;
if (gson != null) {
gsonString = gson.toJson(object);
}
return gsonString;
}
/* - 将json转成特定的cls的对象
- @param gsonString
- @param cls
- @return
/
public static T GsonToBean(String gsonString, Class
cls) {
T t = null;
if (gson != null) {
//传⼊json对象和对象类型,将json转成对象
t = gson.fromJson(gsonString, cls);
}
return t;
}
/* - json字符串转成list
- @param gsonString
- @param cls
- @return
/
public static List GsonToList(String gsonString,
Class cls) {
List list = null;
if (gson != null) {
//根据泛型返回解析指定的类
型,TypeToken<List>{}.getType()获取返回类型
list = gson.fromJson(gsonString, new
TypeToken<List>() {
}.getType());
}
return list;
}
/* - json字符串转成list中有map的
- @param gsonString
- @return
/
public static 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;
}
/* - json字符串转成map的
- @param gsonString
- @return
*/
public static 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;
}
}