我创建了onse序列化程序类,该类应将Bigdecimal 限制为小数点后的拖曳数字。但它也删除了零。例如:如果值为 95.50,则在 json 中截断零并输出为 95.5。
public class PriceJsonSerializer extends JsonSerializer {
@Override
public void serialize(BigDecimal value, JsonGenerator jgen,
SerializerProvider provider) throws IOException, JsonProcessingException
{
jgen.writeNumber(value.setScale(2,
BigDecimal.ROUND_HALF_UP).toString());
}
}
若要强制序列化程序保留舍入而不将值写入字符串,请尝试"writeRawValue"。
public class PriceJsonSerializer extends JsonSerializer {
@Override
public void serialize(BigDecimal value, JsonGenerator jgen,
SerializerProvider provider) throws IOException, JsonProcessingException
{
jgen.writeRawValue(value.setScale(2,
BigDecimal.ROUND_HALF_UP).toString());
}
}