From f1b823659a013f56909d439b2a96bf04f85cfe86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LI-CCONG=5C=E6=9D=8E=E8=81=AA=E8=81=AA?= <1441652193@qq.com> Date: Thu, 21 Mar 2024 16:59:35 +0800 Subject: [PATCH] =?UTF-8?q?json=E8=AF=B7=E6=B1=82=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E8=BD=AC=E6=8D=A2=E5=A4=84=E7=90=86=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cc/yunxi/common/config/JsonConfig.java | 5 +++-- .../cc/yunxi/common/domain/convert/EnumSerializer.java | 9 --------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/nxhs-common/src/main/java/cc/yunxi/common/config/JsonConfig.java b/nxhs-common/src/main/java/cc/yunxi/common/config/JsonConfig.java index b61a7f1..a0b73ca 100644 --- a/nxhs-common/src/main/java/cc/yunxi/common/config/JsonConfig.java +++ b/nxhs-common/src/main/java/cc/yunxi/common/config/JsonConfig.java @@ -4,6 +4,7 @@ import cc.yunxi.common.domain.convert.EnumDeserializer; import cc.yunxi.common.domain.convert.EnumSerializer; import cc.yunxi.common.domain.convert.LocalDateTimeDeserializer; import cc.yunxi.common.domain.convert.LocalDateTimeSerializer; +import cc.yunxi.common.enums.BaseEnum; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.extern.slf4j.Slf4j; @@ -35,8 +36,8 @@ public class JsonConfig { jacksonObjectMapperBuilder.serializerByType(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE); jacksonObjectMapperBuilder.deserializerByType(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE); // String <-> Enum - jacksonObjectMapperBuilder.serializerByType(Enum.class, EnumSerializer.INSTANCE); - jacksonObjectMapperBuilder.deserializerByType(Enum.class, EnumDeserializer.INSTANCE); + jacksonObjectMapperBuilder.serializerByType(BaseEnum.class, EnumSerializer.INSTANCE); + jacksonObjectMapperBuilder.deserializerByType(BaseEnum.class, EnumDeserializer.INSTANCE); }; } } \ No newline at end of file diff --git a/nxhs-common/src/main/java/cc/yunxi/common/domain/convert/EnumSerializer.java b/nxhs-common/src/main/java/cc/yunxi/common/domain/convert/EnumSerializer.java index 231ea36..95b968e 100644 --- a/nxhs-common/src/main/java/cc/yunxi/common/domain/convert/EnumSerializer.java +++ b/nxhs-common/src/main/java/cc/yunxi/common/domain/convert/EnumSerializer.java @@ -25,15 +25,6 @@ public class EnumSerializer extends JsonSerializer { @Override public void serialize(BaseEnum baseEnum, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeStartObject(); - // java 如何获取枚举类的成员属性? 此处有问题, todo -// Field[] fields = baseEnum.getClass().getFields(); -// for (Field field : fields) { -// try { -// jsonGenerator.writeStringField(field.getName(), String.valueOf(field.get(baseEnum))); -// } catch (IllegalAccessException e) { -// throw new RuntimeException(e); -// } -// } jsonGenerator.writeStringField("code", baseEnum.getCode()); jsonGenerator.writeStringField("desc", baseEnum.getDesc()); jsonGenerator.writeEndObject();