irpas技术客

springboot返回json数据时double或者bigdeimal保留两位小数的通用处理方法(个人记笔记)_springboot bigdecimal 保

网络 6187

因为springboot默认采用jackson序列化,而jackson序列化又可以自定义序列化器,所以我们在返回double或者bigdeimal类型数据时,可以指定序列化器,而不用在代码里面处理这样可以避免重复的处理代码

1、自定义序列化器:

public class CustomDecimalSerialize extends JsonSerializer<BigDecimal> { @Override public void serialize(BigDecimal value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { if (value != null) { value = value.setScale(2, BigDecimal.ROUND_HALF_UP); gen.writeString(value.toString()); } } }

2、在double或者bigdecimal类型字段上指定自定义的序列化器:

//指标值 @JsonSerialize(using = CustomDecimalSerialize.class) protected BigDecimal value;

?

?最终的效果:

?

这个借鉴了这篇博客:Jackson转换实体 double 保留两位小数_挥手凝淡墨的博客-CSDN博客


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #springboot #bigdecimal #保留2位小数 #json序列化保留两位小数