package com.vincent.rsf.common.utils; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.List; import java.util.Map; public class GsonUtils { // include cache private static final Gson gson = new Gson(); public static String toJson(Object object) { return gson.toJson(object); } public static T fromJson(String json, Class clazz) throws JsonSyntaxException { return gson.fromJson(json, clazz); } public static T fromJson(String json, Type typeOfT) throws JsonSyntaxException { return gson.fromJson(json, typeOfT); } public static List fromJsonToList(String json, Class clazz) throws JsonSyntaxException { Type type = TypeToken.getParameterized(List.class, clazz).getType(); return gson.fromJson(json, type); } public static Map fromJsonToMap(String json, Class keyType, Class valueType) throws JsonSyntaxException { Type type = TypeToken.getParameterized(Map.class, keyType, valueType).getType(); return gson.fromJson(json, type); } }