@JsonAlias和@JsonProperty的用法

这两个注解都是用来解决前后端json序列化的问题,何为序列化?

当我们将 JSON 数据设置为 Java Object 时,称为 JSON 反序列化;当我们从 Java Object 中获取 JSON 数据时,称为 JSON 序列化。

@JsonAlias(value="")

顾名思义起别名,就是在反序列化时起作用,最好例子就是login页面,不需要对account类做vo类或者其他类与前端保持一致的变量名,只需要加上@JsonAlias,在反序列化时自动会给实体类的属性赋值

上图这种情况,前端传给后端的json数据是aName或者其他两种都可以,@JsonAlias只有value时可以简写,且可以指定多个反序列化名称。

@JsonProperty

value:定义逻辑属性的名称。
access:更改逻辑属性在序列化和反序列化中的可见性。
defaultValue:用于记录预期的默认值。
index:定义与对象指定的其他属性相关的属性的数字索引。
required:定义在反序列化期间是否需要属性的值。

access元素更改由 getter 或 setter 或对象字段定义的逻辑属性的可见性。的值access可以是以下之一。
Access.WRITE_ONLY:只有当我们将 JSON 数据设置为 Java 对象时,即在反序列化时,逻辑属性的可见性才可用。
Access.READ_ONLY:逻辑属性的可见性仅在我们从 Java 对象获取 JSON 数据时可用,即在序列化时。
Access.READ_WRITE:逻辑属性的可见性在序列化和反序列化时都可用。
Access.AUTO:逻辑属性的可见性将自动确定,这是access元素的默认值。

具体可见Jackson @JsonProperty and @JsonAlias Example

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值