注解 @JSONField和@JsonProperty配合使用无敌

在开发中,我们经常需要将json字符串转化为java对象,或将我们的java对象转化成json字符串,但有时候json字符串的某个字段名和java类的属性名不一致,或java对象的属性名和json字符串的字段名对对应不上,这时@JSONField和@JsonProperty 这两个注解就可以派上用场,请看下面分解.

  1. 将json字符串指定的字段映射到java类的某个属性上,用@JsonProperty
    在这里插入图片描述
    为了将json字符串中的FModel字段的值赋给java对象的model属性,只需在属性上方加上@JsonProperty(value = "FModel") 即可
    在这里插入图片描述
  2. 将java对象通过JSON.toJSON()转成json字符串时,可以A属性名变成json字符串的B字段名,用@JSONField
    在这里插入图片描述
    为了将java对象属性名alias通过JSON.toJSON转成json字符串后,变成json字段FAlias,只需在对应属性加注解 @JSONField(name = "FAlias") 即可
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
@JSONField和@JsonProperty是两个不同的注解,用于处理JSON序列化和反序列化的过程。 @JSONField是阿里巴巴的fastjson库中的注解,用于在属性或方法上进行标记,以控制JSON序列化和反序列化的行为。它可以设置一些属性,比如serialize、deserialize、format等来控制序列化和反序列化的过程。当注解在属性上时,可以设置serialize=false来忽略该属性的序列化,同时可以设置format来指定日期格式化的方式。当注解在get方法上时,表示在将Java对象转换为JSON字符串时,将该方法返回的值作为JSON字段的值。当注解在set方法上时,表示在将JSON字符串转换为Java对象时,将该方法设置的值赋给对应的属性。 @JsonProperty是Jackson库中的注解,也是用于在属性或方法上进行标记,以控制JSON序列化和反序列化的过程。它的作用和@JSONField类似,可以设置value属性来指定JSON字段的名称。当注解在属性上时,表示该属性在序列化和反序列化过程中对应的JSON字段名称。当注解在get方法上时,表示在将Java对象转换为JSON字符串时,将该方法返回的值作为JSON字段的值。当注解在set方法上时,表示在将JSON字符串转换为Java对象时,将该方法设置的值赋给对应的属性。 所以,@JSONField和@JsonProperty都是用于控制JSON序列化和反序列化的注解,它们有一些相似的功能和用法,但是属于不同的库。在使用时需要根据具体的需求和所使用JSON库选择合适的注解
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值