您好,登錄后才能下訂單哦!
@JSONField注解的使用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>
FastJson中的注解@JSONField,一般作用在get/set方法上面,常用的使用場景有下面三個:
修改和json字符串的字段映射【name】
格式化數據【format】
過濾掉不需要序列化的字段【serialize】
一、修改字段映射使用方法:
private Integer aid;
// 實體類序列化為json字符串的時候,此類的aid字段,序列化為json中的testid字段
@JSONField(name="testid")
public Integer getAid() {
return aid;
}
// json字符串解析為類實體的時候,json中的id字段,寫入此類的aid字段 @JSONField(name="id")
br/> @JSONField(name="id")
this.aid = aid;
}
二、格式化使用方法
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
public Date getDateCompleted(...)
三、過濾不需要序列化的字段
@JSONField(serialize = false)
public Integer getProgress() {
return progress;
}
@JsonProperty的使用
jackson的maven依賴
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>
兩個類庫都有把屬性名字映射成另一個名字的作用。
jackson的@JsonIgnore使用
作用:在json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。
使用方法:一般標記在屬性或者方法上,返回的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; //快照擴展屬性信息
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。