@JsonDeserialize和@JsonSerialize用法简介说明

欣喜 Java经验 发布时间:2024-01-23 09:55:58 阅读数:16638 1
下文笔者讲述@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()
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202401/17059749927743.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者