新增json註解解決返回資料double限定小數點後幾位長度,多餘的捨棄
阿新 • • 發佈:2018-12-22
1.編寫註解使用的類
import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; import java.math.RoundingMode; import java.text.DecimalFormat; public class DoubleSerialize extends JsonSerializer<Double> { private DecimalFormat df = new DecimalFormat("0.00"); @Override public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { if(value != null) { df.setMaximumFractionDigits(2);//顯示幾位修改幾 df.setGroupingSize(0); df.setRoundingMode(RoundingMode.FLOOR); gen.writeString(df.format(value)); } } }
2.在需要被註解修改的資料上呼叫
@Data
public class ValuationAmountVo {
@JsonSerialize(using = DoubleSerialize.class)
private double valuation;
@JsonSerialize(using = DoubleSerialize.class)
private double amount;
}