fastjson默认把 BigDecimal类型小数点后的 0 省略,如
BigDecimal a = new BigDecimal("18.283000")
//前端会直接输出
//18.283
//并不是我们期望的
//18.283000
解决方法一
使用@JSONField
public class CustomerBigDecimalCodec extends BigDecimalCodec implements ContextObjectSerializer {
public final static CustomerBigDecimalCodec instance = new CustomerBigDecimalCodec();
@Override
public void write(JSONSerializer serializer, Object object, BeanContext context) {
SerializeWriter out = serializer.out;
if (object == null) {
out.writeString("0.00");
return;
}
String format = context.getFormat();
System.out.println(format);
DecimalFormat decimalFormat = new DecimalFormat(format);
out.writeString(decimalFormat.format(object));
}
}
fastjson配置