概述
一、jackson的@JsonProperty使用
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>
@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty(value="name")。
二、fastJson的@JSONField使用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>
三、jackson的@JsonIgnore使用
-
作用:在json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。
-
使用方法:一般标记在属性或者方法上,返回的json数据即不包含该属性。
-
场景模拟:
需要把一个List<HistoryOrderBean>转换成json格式的数据传递给前台。但实体类中基本属性字段的值都存储在快照属性字段中。此时我可以在业务层中做处理,把快照属性字段的值赋给实体类中对应的基本属性字段。最后,我希望返回的json数据中不包含这两个快照字段,那么在实体类中快照属性上加注解@JsonIgnore,那么最后返回的json数据,将不会包含goodsInfo和extendsInfo两个属性值。
public class HistoryOrderBean {
//基本属性字段
private String insurantName;
private String insuranceName;
private String insurancePrice;
private String insurancePicture;
private String insuranceLimit;
//快照属性字段
@JsonIgnore
private String goodsInfo;
//快照基本信息
@JsonIgnore
private String extendsInfo;
//快照扩展属性信息
}
4.注解失效:
如果注解失效,可能是因为你使用的是fastJson,可以尝试使用该注解@JSONField(serialize = false),使用方法一样。
最后
以上就是有魅力灯泡为你收集整理的fastJson的@JSONField和jackson的@JsonProperty使用的全部内容,希望文章能够帮你解决fastJson的@JSONField和jackson的@JsonProperty使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复