json处理工具类,引入依赖
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
package com.tool.utils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
/**
* json处理工具类
* @author www.wouuz.com
*
* <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
*
*/
public class GsonUtil {
private static Gson gson = null;
static {
if(gson==null) {
gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
}
}
private GsonUtil() {
}
/**
* 将object对象转成json字符串
*/
public static String GsonString(Object object) {
String gsonString = null;
if(gson!=null) {
gsonString = gson.toJson(object);
}
return gsonString;
}
public static String objToString(Object[] object) {
String rs = "";
if(object!=null) {
for (Object obj : object) {
rs += obj.toString();
}
}
return rs;
}
/**
* 将gsonString转成泛型bean
*/
public static <T> T GsonToBean(String gsonString,Class<T> cls) {
T t = null;
if(gson!=null) {
t = gson.fromJson(gsonString, cls);
}
return t;
}
/**
* 转成list
* 泛型在编译器被擦除导致报错
*
*/
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
* 解决泛型问题
*
*/
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的
*
*/
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
*/
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;
}
}