@JSONField(name=xx)、@JsonProperty(value=xx)和@SerializedName的使用

@JSONField(name=xx)

作用

  1. 作用在get方法上,在序列化的时候(把对象转换为JSON串的时候),可以重新命名成指定的JSON数据的key名称;
  2. 作用在set方法上,在反序列化的时候(解析JSON转为对象的时候),可以把数据绑定到对应的JAVA实体类属性上;
  3. 作用在字段上,会在序列化和反序列的时候,把数据都绑定到对应的字段上。

注意

  1. 如果是使用JSON工具,上面的作用只能使用下面对应的方法;
    get
    com.alibaba.fastjson.JSON#toJSONString(java.lang.Object)
    com.alibaba.fastjson.JSON#toJSONString(java.lang.Object)
    set
    com.alibaba.fastjson.JSON#parseObject(java.lang.String, java.lang.Class)
  2. 不能用于接收前端传参,绑定指定名称到到对应的JAVA实体类属性上。

@JsonProperty(value=xx)

作用

  1. 可以加在字段和set方法上,在反序列化的时候(解析JSON转为对象的时候),可以把数据绑定到对应的JAVA实体类属性上,相当于@JSONField(name=xx)作用在set方法上;

注意

  1. 如果是使用JSON工具,上面的作用只能使用下面对应的方法;
    set
    com.alibaba.fastjson.JSON#parseObject(java.lang.String, java.lang.Class)
  2. 可以用于接收前端传参,绑定指定名称到到对应的JAVA实体类属性上。

@SerializedName(value=xx)

作用

  1. 可以加在字段和set方法上,在反序列化的时候(解析JSON转为对象的时候),可以把数据绑定到对应的JAVA实体类属性上,相当于@JSONField(name=xx)作用在set方法上。

注意

  1. 如果是使用JSON工具,上面的作用只能使用下面对应的方法;
    set:
    com.alibaba.fastjson.JSON#parseObject(java.lang.String, java.lang.Class)
  2. 不能用于接收前端传参,绑定指定名称到到对应的JAVA实体类属性上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

付聪1210

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值