您可以在money字段中使用自定义序列化程序。这是一个使用MoneyBean的示例。字段 数量 使用 @JsonSerialize(using =
…) 进行注释。
public class MoneyBean { //... @JsonProperty("amountOfMoney") @JsonSerialize(using = MoneySerializer.class) private BigDecimal amount; //getters/setters...}public class MoneySerializer extends JsonSerializer<BigDecimal> { @Override public void serialize(BigDecimal value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { // put your desired money style here jgen.writeString(value.setScale(2, BigDecimal.ROUND_HALF_UP).toString()); }}
而已。现在以正确的方式打印BigDecimal。我用一个简单的测试用例来展示它:
@Testpublic void jsonSerializationTest() throws Exception { MoneyBean m = new MoneyBean(); m.setAmount(new BigDecimal("20.3")); ObjectMapper mapper = new ObjectMapper(); assertEquals("{"amountOfMoney":"20.30"}", mapper.writevalueAsString(m));}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)