溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jsonFiled與jsonproperty

發(fā)布時間:2020-07-11 01:19:20 來源:網(wǎng)絡(luò) 閱讀:1598 作者:lifeneedyou 欄目:編程語言

@JSONField注解的使用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>

FastJson中的注解@JSONField,一般作用在get/set方法上面,常用的使用場景有下面三個:
修改和json字符串的字段映射【name】
格式化數(shù)據(jù)【format】
過濾掉不需要序列化的字段【serialize】
一、修改字段映射使用方法:

  private Integer aid;
  // 實(shí)體類序列化為json字符串的時候,此類的aid字段,序列化為json中的testid字段
  @JSONField(name="testid")
  public Integer getAid() {
   return aid;
  }

  // json字符串解析為類實(shí)體的時候,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中的一些屬性忽略掉,序列化和反序列化都受影響。

使用方法:一般標(biāo)記在屬性或者方法上,返回的json數(shù)據(jù)即不包含該屬性。
例如希望返回的json數(shù)據(jù)中不包含這兩個快照字段,那么在實(shí)體類中快照屬性上加注解@JsonIgnore,那么最后返回的json數(shù)據(jù),將不會包含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;    //快照擴(kuò)展屬性信息

}

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI