Jackson轉換實體 double 保留兩位小數
阿新 • • 發佈:2019-02-11
根據業務,需要通過後端給前端返回金額值,一般需要保留兩位小數,使用jackson轉換物件列表
public class CustomDoubleSerialize extends JsonSerializer<Double> {
private DecimalFormat df = new DecimalFormat("##.00");
@Override
public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers)
throws IOException, JsonProcessingException {
if (value != null) {
gen.writeString(df.format(value));
}
}
}
然後需要給需要轉換的屬性上面加上註解,如下
/**
* 應還金額:專案系統:amt - principalReturn
*/
@JsonSerialize(using = CustomDoubleSerialize.class)
private Double needReturn;
public Double getNeedReturn() {
if(amt == null || principalReturn == null) {
if(amt != null) {
return amt;
}
if(principalReturn != null) {
return 0 - principalReturn;
}
return null;
}
return amt - principalReturn;
}