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
上一篇下一篇

猜你喜欢

热点阅读