@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()
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


