在 json 中保留大十进制中的尾随零



我创建了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());
         }
    }

最新更新