@JsonDeserialize和@JsonSerialize用法简介说明
下文笔者讲述@JsonDeserialize和@JsonSerialize用法说明,如下所示
@JsonDeserialize
在反序列化时 对参数进行封装 需将注解添加到对应set方法上 若使用Lombok需要自己定义相应set方法例
使用using属性指定处理参数的类 该类需继承JsonDeserializer类 并重写deserialize() 自定义Converter public interface AssetAmountValidatable { String getAsset(); @JsonDeserialize(converter = AmountHandler.class) BigDecimal getAmount(); } public class AmountHandler extends StdConverter<BigDecimal, BigDecimal> { @Override public BigDecimal convert(BigDecimal value) { if (value == null) { return null; } // 超过8位截断 String strAmount = FormatUtils.getAssetNumericFormatter().format(value); final BigDecimal amount = new BigDecimal(strAmount); // stripTrailingZeros return amount.stripTrailingZeros(); } }
@JsonSerialize
在序列化时 需获取数据 需使用getXxxx()方法 使用Lombok 需自己定义相应get方法 需继承JsonSerializer类 并重写serialize()
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。