Jackson 序列化/反序列化时忽略某属性

在开发RestAPI的时候总会遇到如下情况:

  1. 序列化时忽略某属性(如Name)
  2. 反序列化时忽略某属性(如HashedName)

Jackson提供了@Jsonignore这个注解,用于在(反)序列化时,忽略bean的某项属性。

这次项目将Jackson升级到了1.9版本,在Jackson1.9的时候,@Jsonignore的语义有了如下变化

  • 1.9之前: 在Setter方法上加@Jsonignore注解并不会影响Getter方法的调用。
  • 1.9之后: 在Setter方法上加@Jsonignore会导致整个这个属性在序列化过程中被忽略。

所以在1.9之后需要使用其他的方法来设置某个属性是否需要(反)序列化:

@JsonProperty(access = Access.WRITE_ONLY)  

通过设置JsonPropertyaccess属性来确定当前属性是不是需要自动序列化/反序列化。

  • WRITE_ONLY:仅做反序列化操作。
  • READ_ONLY:仅做序列化操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值