🎨 json 工具类改名 && 代码格式化

This commit is contained in:
b2baccline
2021-02-26 16:19:50 +08:00
parent 8328482d28
commit 3d58ea863f
12 changed files with 57 additions and 61 deletions

View File

@@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.hccake.ballcat.common.core.jackson.JavaTimeModule;
import com.hccake.ballcat.common.core.jackson.NullSerializerModifier;
import com.hccake.ballcat.common.util.JsonUtils;
import com.hccake.ballcat.common.util.json.JacksonAdapter;
import com.hccake.ballcat.common.util.json.JacksonJsonToolAdapter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
@@ -26,7 +26,7 @@ public class JsonConfig {
@ConditionalOnClass(ObjectMapper.class)
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper objectMapper() {
JacksonAdapter adapter = (JacksonAdapter) JsonUtils.getAdapter();
JacksonJsonToolAdapter adapter = (JacksonJsonToolAdapter) JsonUtils.getJsonTool();
adapter.config(mapper -> {
// NULL值修改
mapper.setSerializerFactory(
@@ -34,7 +34,7 @@ public class JsonConfig {
// 时间解析器
mapper.registerModule(new JavaTimeModule());
});
return JacksonAdapter.getMapper();
return JacksonJsonToolAdapter.getMapper();
}
}

View File

@@ -1,34 +1,32 @@
package com.hccake.ballcat.common.util;
import com.hccake.ballcat.common.util.json.FastjsonAdapter;
import com.hccake.ballcat.common.util.json.GsonAdapter;
import com.hccake.ballcat.common.util.json.HuToolJsonAdapter;
import com.hccake.ballcat.common.util.json.JacksonAdapter;
import com.hccake.ballcat.common.util.json.JsonAdapter;
import com.hccake.ballcat.common.util.json.TypeReference;
import java.lang.reflect.Type;
import com.hccake.ballcat.common.util.json.*;
import lombok.Getter;
import lombok.SneakyThrows;
import java.lang.reflect.Type;
/**
* @author lingting 2021/2/25 20:38
*/
public class JsonUtils {
@Getter
private static JsonAdapter adapter;
private static JsonTool jsonTool;
static {
ClassLoader classLoader = JsonUtils.class.getClassLoader();
if (ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper", classLoader)) {
adapter = new JacksonAdapter();
} else if (ClassUtils.isPresent("com.google.gson.Gson", classLoader)) {
adapter = new GsonAdapter();
} else if (ClassUtils.isPresent("cn.hutool.json.JSONConfig", classLoader)) {
adapter = new HuToolJsonAdapter();
} else if (ClassUtils.isPresent("com.alibaba.fastjson.JSON", classLoader)) {
adapter = new FastjsonAdapter();
jsonTool = new JacksonJsonToolAdapter();
}
else if (ClassUtils.isPresent("com.google.gson.Gson", classLoader)) {
jsonTool = new GsonJsonToolAdapter();
}
else if (ClassUtils.isPresent("cn.hutool.json.JSONConfig", classLoader)) {
jsonTool = new HuToolJsonToolAdapter();
}
else if (ClassUtils.isPresent("com.alibaba.fastjson.JSON", classLoader)) {
jsonTool = new FastjsonJsonToolAdapter();
}
}
@@ -37,29 +35,28 @@ public class JsonUtils {
*
* @author lingting 2021-02-26 11:18
*/
public static void switchAdapter(JsonAdapter adapter) {
JsonUtils.adapter = adapter;
public static void switchAdapter(JsonTool jsonTool) {
JsonUtils.jsonTool = jsonTool;
}
@SneakyThrows
public static String toJson(Object obj) {
return adapter.toJson(obj);
return jsonTool.toJson(obj);
}
@SneakyThrows
public static <T> T toObj(String json, Class<T> r) {
return adapter.toObj(json, r);
return jsonTool.toObj(json, r);
}
@SneakyThrows
public static <T> T toObj(String json, Type t) {
return adapter.toObj(json, t);
return jsonTool.toObj(json, t);
}
@SneakyThrows
public static <T> T toObj(String json, TypeReference<T> t) {
return adapter.toObj(json, t);
return jsonTool.toObj(json, t);
}
}

View File

@@ -11,7 +11,7 @@ import java.util.function.BiConsumer;
/**
* @author lingting 2021/2/26 10:32
*/
public class FastjsonAdapter implements JsonAdapter {
public class FastjsonJsonToolAdapter implements JsonTool {
/**
* json str -> obj
@@ -54,11 +54,11 @@ public class FastjsonAdapter implements JsonAdapter {
@Override
public <T> T toObj(String json, TypeReference<T> t) {
/*
由于 fastjson 下面这个方法
com.alibaba.fastjson.JSON.parseObject(java.lang.String, com.alibaba.fastjson.TypeReference<T>, com.alibaba
.fastjson.parser.Feature...)
直接调用了 type.type, 而不是使用的 getType()方法. 所以使用 com.debug.json.FastjsonAdapter.toObj(java.lang.String, java.lang
.reflect.Type) 方法
* 由于 fastjson 下面这个方法 com.alibaba.fastjson.JSON.parseObject(java.lang.String,
* com.alibaba.fastjson.TypeReference<T>, com.alibaba .fastjson.parser.Feature...)
* 直接调用了 type.type, 而不是使用的 getType()方法. 所以使用
* com.debug.json.FastjsonAdapter.toObj(java.lang.String, java.lang .reflect.Type)
* 方法
*/
return toObj(json, t.getType());

View File

@@ -2,14 +2,15 @@ package com.hccake.ballcat.common.util.json;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import lombok.Getter;
import java.lang.reflect.Type;
import java.util.function.Consumer;
import lombok.Getter;
/**
* @author lingting 2021/2/26 10:22
*/
public class GsonAdapter implements JsonAdapter {
public class GsonJsonToolAdapter implements JsonTool {
@Getter
static Gson gson = new GsonBuilder().create();
@@ -37,12 +38,12 @@ public class GsonAdapter implements JsonAdapter {
@Override
public <T> T toObj(String json, Class<T> r) {
return gson.fromJson(json,r);
return gson.fromJson(json, r);
}
@Override
public <T> T toObj(String json, Type t) {
return gson.fromJson(json,t);
return gson.fromJson(json, t);
}
@Override

View File

@@ -2,14 +2,15 @@ package com.hccake.ballcat.common.util.json;
import cn.hutool.json.JSONConfig;
import cn.hutool.json.JSONUtil;
import lombok.Getter;
import java.lang.reflect.Type;
import java.util.function.Consumer;
import lombok.Getter;
/**
* @author lingting 2021/2/26 10:00
*/
public class HuToolJsonAdapter implements JsonAdapter {
public class HuToolJsonToolAdapter implements JsonTool {
@Getter
static JSONConfig jsonConfig = JSONConfig.create();

View File

@@ -10,7 +10,7 @@ import lombok.SneakyThrows;
/**
* @author lingting 2021/2/25 21:04
*/
public class JacksonAdapter implements JsonAdapter {
public class JacksonJsonToolAdapter implements JsonTool {
@Getter
static ObjectMapper mapper = new ObjectMapper();

View File

@@ -7,7 +7,7 @@ import java.lang.reflect.Type;
*
* @author lingting 2021/2/25 20:43
*/
public interface JsonAdapter {
public interface JsonTool {
/**
* obj -> jsonStr