常用工具类之 GsonUtil
public class GsonUtil {
private static final Gson gson = new Gson();
/**
* 转成 Json 字符串
*/
public static String toJson(Object object) {
return gson.toJson(object);
}
/**
* Json 转 JavaBean 对象
*/
public static <T> T toBean(String json, Class<T> beanClass) {
return gson.fromJson(json, beanClass);
}
/**
* Json 转 List 集合
*/
public static <T> List<T> toList(String json) {
Type type = new TypeToken<List<T>>() {
}.getType();
return gson.fromJson(json, type);
}
/**
* Json 转 List 集合
* 遇到解析不了的,尝试使用这个
*/
public static <T> List<T> toListExt(String json, Class<T> clz) {
List<T> mList = new ArrayList<>();
JsonArray array = new JsonParser().parse(json).getAsJsonArray();
Gson mGson = new Gson();
for (final JsonElement elem : array) {
mList.add(mGson.fromJson(elem, clz));
}
return mList;
}
/**
* Json 转换成 Map 的 List 集合对象
*
* @param json json 字符串
*/
public static <T> List<Map<String, T>> toListMap(String json) {
Type type = new TypeToken<List<Map<String, T>>>() {
}.getType();
return gson.fromJson(json, type);
}
/**
* Json 转 Map 对象
*
* @param json json 字符串
*/
public static <T> Map<String, T> toMap(String json) {
Type type = new TypeToken<Map<String, T>>() {
}.getType();
return gson.fromJson(json, type);
}
}
本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利!
作者:刘呵呵
QQ:352887191