Springboot 自定义序列化器 @JsonSeriali
2020-11-20 本文已影响0人
一个头发茂密的程序员
自定义序列器,[使用 @JsonSerialize(using = 自定义序列化器类.class)去序列化指定的属性]
package cc.mrbird.febs.common.serializer;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.math.BigDecimal;
/**
* @author: MR.HE
* @date: 2020/3/7 15:28
* @description 小数保留1位返回给前端序列化器
*/
public class DecimalSerializer extends JsonSerializer {
/**
* 将返回的BigDecimal保留1位小数,再返回给前端
* @param value
* @param jsonGenerator
* @param serializerProvider
* @throws IOException
* @throws JsonProcessingException
*/
@Override
public void serialize(Object value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)throws IOException, JsonProcessingException {
if (value !=null) {
//设置转换成BigDecimal类型保留位数
BigDecimal bigDecimal =new BigDecimal(value.toString()).setScale(1,BigDecimal.ROUND_HALF_UP);
jsonGenerator.writeString(bigDecimal.toString());
}
}
}
对javabean实体类添加@JsonSerialize注解
image