diff --git a/kernel-d-wrapper/wrapper-field-sdk/src/main/java/cn/stylefeng/roses/kernel/wrapper/field/enums/EnumFieldFormatSerializer.java b/kernel-d-wrapper/wrapper-field-sdk/src/main/java/cn/stylefeng/roses/kernel/wrapper/field/enums/EnumFieldFormatSerializer.java index 1cb6d5c55..d959c0ba7 100644 --- a/kernel-d-wrapper/wrapper-field-sdk/src/main/java/cn/stylefeng/roses/kernel/wrapper/field/enums/EnumFieldFormatSerializer.java +++ b/kernel-d-wrapper/wrapper-field-sdk/src/main/java/cn/stylefeng/roses/kernel/wrapper/field/enums/EnumFieldFormatSerializer.java @@ -36,11 +36,11 @@ public class EnumFieldFormatSerializer extends JsonSerializer { public void serialize(Object originValue, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) { // 最终转化的值 - Object result = originValue; + Object formattedValue = originValue; // 如果原始字段是枚举类型,则直接调用接口的getName()方法完成转化 if (originValue instanceof ReadableEnum) { - result = ((ReadableEnum) originValue).getName(); + formattedValue = ((ReadableEnum) originValue).getName(); } else { // 如果是其他类型,则获取枚举的getKey()的类型是什么 @@ -49,14 +49,17 @@ public class EnumFieldFormatSerializer extends JsonSerializer { ReadableEnum[] enumConstants = processEnum.getEnumConstants(); for (ReadableEnum enumConstant : enumConstants) { if (enumConstant.getKey().equals(originValue)) { - result = enumConstant.getName(); + formattedValue = enumConstant.getName(); } } } } // 进行数据转化写入到渲染的JSON中 - CommonFormatUtil.writeField(formatTypeEnum, originValue, result, jsonGenerator); + if (!originValue.equals(formattedValue)) { + CommonFormatUtil.writeField(formatTypeEnum, originValue, formattedValue, jsonGenerator); + } + } } diff --git a/kernel-d-wrapper/wrapper-field-sdk/src/main/java/cn/stylefeng/roses/kernel/wrapper/field/simple/SimpleFieldFormatSerializer.java b/kernel-d-wrapper/wrapper-field-sdk/src/main/java/cn/stylefeng/roses/kernel/wrapper/field/simple/SimpleFieldFormatSerializer.java index 014ae0f47..2cd840ba1 100644 --- a/kernel-d-wrapper/wrapper-field-sdk/src/main/java/cn/stylefeng/roses/kernel/wrapper/field/simple/SimpleFieldFormatSerializer.java +++ b/kernel-d-wrapper/wrapper-field-sdk/src/main/java/cn/stylefeng/roses/kernel/wrapper/field/simple/SimpleFieldFormatSerializer.java @@ -54,7 +54,10 @@ public class SimpleFieldFormatSerializer extends JsonSerializer { Object formattedValue = simpleFieldFormatProcess.formatProcess(originValue); // 将转化的值,根据策略,进行写入到渲染的json中 - CommonFormatUtil.writeField(formatTypeEnum, originValue, formattedValue, jsonGenerator); + if (!originValue.equals(formattedValue)) { + CommonFormatUtil.writeField(formatTypeEnum, originValue, formattedValue, jsonGenerator); + } + } }