场景 : BigDecimal类型字段如果值为类似0.000001这种精度很高的小数,则会转为科学记数法
在实体类字段上添加注解
@JsonSerialize(using=BigDecimalJsonSerializer.class)
private BigDecimal amount;
新建自定义处理类:
import java.io.IOException;
import java.math.BigDecimal;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
public class BigDecimalJsonSerializer extends JsonSerializer<BigDecimal>{
@Override
public void serialize(BigDecimal arg0, JsonGenerator arg1, SerializerProvider arg2) throws IOException {
if (arg0 != null) {
// 处理当数值为 0.00000001类似的小数时,自动转为科学计数法的问题
arg1.writeString(arg0.toPlainString());
}
}
}