Gson工具类
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
import java.util.List;
public class GsonUtils {
private static final Gson gson = new GsonBuilder().disableHtmlEscaping()
.create();
public static <T> List<T> convertList(String json, TypeToken<List<T>> token) {
if (StringUtils.isBlank(json)) {
return new ArrayList<T>();
}
return gson.fromJson(json, token.getType());
}
public static <T> T convertObj(String json, Class<T> cls) {
if (StringUtils.isBlank(json)) {
return null;
}
return gson.fromJson(json, cls);
}
public static String parseJson(Object obj) {
GsonBuilder builder = new GsonBuilder();
builder.setDateFormat("yyyy-MM-dd HH:mm:ss");
Gson gson = builder.create();
return gson.toJson(obj);
}
@SuppressWarnings("unchecked")
public static Object json2Obj(String json, @SuppressWarnings("rawtypes") Class clazz) {
if (json == null || "".equals(json.trim())) {
return null;
}
GsonBuilder builder = new GsonBuilder();
builder.setDateFormat("yyyy-MM-dd HH:mm:ss");
Gson gson = builder.create();
return gson.fromJson(json, clazz);
}
public static Object parseObj(Object src, Class clazz) {
if (src == null) return null;
String json = parseJson(src);
return json2Obj(json, clazz);
}
public static List<?> parseList(List<?> list, Class clazz) {
if (list != null) {
List newList = new ArrayList<>();
for (Object object : list) {
Object obj = parseObj(object, clazz);
newList.add(obj);
}
return newList;
} else {
return null;
}
}
}