mirror of https://gitee.com/stylefeng/roses
【7.2.5】【wrapper】增加对包装后的值得判断,不一致才进行包装
parent
fb3b8cea00
commit
902ae21c22
|
@ -36,11 +36,11 @@ public class EnumFieldFormatSerializer extends JsonSerializer<Object> {
|
||||||
public void serialize(Object originValue, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
|
public void serialize(Object originValue, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) {
|
||||||
|
|
||||||
// 最终转化的值
|
// 最终转化的值
|
||||||
Object result = originValue;
|
Object formattedValue = originValue;
|
||||||
|
|
||||||
// 如果原始字段是枚举类型,则直接调用接口的getName()方法完成转化
|
// 如果原始字段是枚举类型,则直接调用接口的getName()方法完成转化
|
||||||
if (originValue instanceof ReadableEnum) {
|
if (originValue instanceof ReadableEnum) {
|
||||||
result = ((ReadableEnum) originValue).getName();
|
formattedValue = ((ReadableEnum) originValue).getName();
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// 如果是其他类型,则获取枚举的getKey()的类型是什么
|
// 如果是其他类型,则获取枚举的getKey()的类型是什么
|
||||||
|
@ -49,14 +49,17 @@ public class EnumFieldFormatSerializer extends JsonSerializer<Object> {
|
||||||
ReadableEnum[] enumConstants = processEnum.getEnumConstants();
|
ReadableEnum[] enumConstants = processEnum.getEnumConstants();
|
||||||
for (ReadableEnum enumConstant : enumConstants) {
|
for (ReadableEnum enumConstant : enumConstants) {
|
||||||
if (enumConstant.getKey().equals(originValue)) {
|
if (enumConstant.getKey().equals(originValue)) {
|
||||||
result = enumConstant.getName();
|
formattedValue = enumConstant.getName();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 进行数据转化写入到渲染的JSON中
|
// 进行数据转化写入到渲染的JSON中
|
||||||
CommonFormatUtil.writeField(formatTypeEnum, originValue, result, jsonGenerator);
|
if (!originValue.equals(formattedValue)) {
|
||||||
|
CommonFormatUtil.writeField(formatTypeEnum, originValue, formattedValue, jsonGenerator);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,10 @@ public class SimpleFieldFormatSerializer extends JsonSerializer<Object> {
|
||||||
Object formattedValue = simpleFieldFormatProcess.formatProcess(originValue);
|
Object formattedValue = simpleFieldFormatProcess.formatProcess(originValue);
|
||||||
|
|
||||||
// 将转化的值,根据策略,进行写入到渲染的json中
|
// 将转化的值,根据策略,进行写入到渲染的json中
|
||||||
|
if (!originValue.equals(formattedValue)) {
|
||||||
CommonFormatUtil.writeField(formatTypeEnum, originValue, formattedValue, jsonGenerator);
|
CommonFormatUtil.writeField(formatTypeEnum, originValue, formattedValue, jsonGenerator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue