1. 程式人生 > 實用技巧 >jackson中@JsonProperty、@JsonIgnore等常用註解總結

jackson中@JsonProperty、@JsonIgnore等常用註解總結

jackson的maven依賴

1.@JsonProperty :此註解用於屬性上,作用是把該屬性的名稱序列化為另外一個名稱,如把trueName屬性序列化為name,@JsonProperty("name")。

對屬性名稱重新命名,比如在很多場景下Java物件的屬性是按照規範的駝峰書寫,但在資料庫設計時使用的是下劃線連線方式,此處在進行對映的時候

就可以使用該註解。

2.@JsonIgnore此註解用於屬性或者方法上(最好是屬性上),用來完全忽略被註解的欄位和方法對應的屬性,即便這個欄位或方法可以被自動檢測到或者還有其

他的註解,一般標記在屬性或者方法上,返回的json資料即不包含該屬性。

3.@JsonIgnoreProperties此註解是類註解,作用是json序列化時將java bean中的一些屬性忽略掉,序列化和反序列化都受影響。

4.@JsonFormat此註解用於屬性或者方法上(最好是屬性上),可以方便的把Date型別直接轉化為我們想要的模式。

例子:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss")

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;

5.@JsonSerialize此註解用於屬性或者getter方法上,用於在序列化時嵌入我們自定義的程式碼,比如序列化一個double時在其後面限制兩位小數點。

6.@JsonDeserialize此註解用於屬性或者setter方法上,用於在反序列化時可以嵌入我們自定義的程式碼,類似於上面的@JsonSerialize。

7.@JsonInclude屬性值為null的不參與序列化。例子:@JsonInclude(Include.NON_NULL)