jackson中@JsonProperty、@JsonIgnore等常用註解總結
阿新 • • 發佈:2020-12-01
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)