首先需要建立工具類 BigDecimalFormatSerializer 繼承JsonSerializer方法,對serialize方法進行重寫
代碼如下:(我在實體類中用的是Double類型的,所以再次只處理Double類型,如需轉換其他類型可以將value的類型定義為所需的類型)
public class BigDecimalFormatSerializer extends JsonSerializer<Double> { private static final DecimalFormat FORMAT = new DecimalFormat("###.##"); @Override public void serialize(Double value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException { String text = null; //是否為空 if (value != null) { try { //格式化是否為空 text = FORMAT.format(value); } catch (Exception e) { text = value.toString(); } } if (text != null) { jsonGenerator.writeString(text); } } }
第二步:
在返回值的實體類中添加注解
@JsonSerialize(using = BigDecimalFormatSerializer.class) @ApiModelProperty(value = "金額") private Double je;
然后獲取值,就會發現對應的值已經保留兩位小數了