@JsonSerialize
此注解用于属性或者getter方法上,用于在序列化时嵌入开发者自定义的代码。较常用的是对Double、Float类型进行保留小数操作、Date日期类型格式化
score分数保留两位有效数字
/**
* @author chenyi
* Create on 2019/9/10
*/
@Data
@ToString
public class Score {
private Integer id;
private String stuNo;
@JsonSerialize(using = DecimalsKeepTwo.class)
private Float score;//分数
}
自定义代码,对Float类型数据处理保留两位有效数字
/**
* @author chenyi
* Create on 2019/9/10
*/
public class DecimalsKeepTwo extends JsonSerializer<Float> {
@Override
public void serialize(Float aFloat, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
if (aFloat == null) {
aFloat = Float.valueOf("0");
}
DecimalFormat format = new DecimalFormat("0.00");
String formatResult = format.format(aFloat);
jsonGenerator.writeString(formatResult);
}
}