import cn.hutool.core.date.DatePattern;
import com.google.common.reflect.TypeToken;
import com.google.gson.*;
import org.apache.commons.lang3.StringUtils;
import javax.validation.constraints.NotNull;
import java.lang.reflect.Type;
import java.util.*;
public class GsonUtil {
private static Gson gson = null;
static {
gson = new GsonBuilder().setDateFormat(DatePattern.NORM_DATETIME_PATTERN)
.registerTypeAdapter(new TypeToken<HashMap<String, Object>>() {
}.getType(), (JsonDeserializer<HashMap<String, Object>>) (json, typeOfT, context) -> {
HashMap<String, Object> hashMap = new HashMap<>();
JsonObject jsonObject = json.getAsJsonObject();
Set<Map.Entry<String, JsonElement>> entrySet = jsonObject.entrySet();
for (Map.Entry<String, JsonElement> entry : entrySet) {
Object ot = entry.getValue();
if (ot instanceof JsonPrimitive) {
hashMap.put(entry.getKey(), ((JsonPrimitive) ot).getAsString());
} else {
hashMap.put(entry.getKey(), ot);
}
}
return hashMap;
}).create();
}
public GsonUtil() {
throw new InstantiationError("Must not instantiate this class");
}
/**
* 将Obj转换成Json
*
* @param obj
* @return
*/
public static @NotNull String ToJson(Object obj) {
return gson.toJson(obj);
}
public static JsonElement strToJsonElement(String str) {
Gson key “_“ 驼峰命名
于 2022-12-10 00:08:31 首次发布