SpringBoot2.x系列教程(十二)Jackson常用註解使用詳解
- 2020 年 2 月 2 日
- 筆記
在前些文章中我們曾提到一個問題,比如在Spring Boot中返回的對象,我們並不想直接返回所有的欄位或者想指定欄位的別名,那麼該如何處理呢?
Jackson為我們提供了一些相關的註解來幫助我們處理以上問題。下面,我們逐個通過實例來了解一下Jackson針對Java對象的常用註解使用。
使用場景是用戶登錄時會使用一個LoginUser對象,該對象基本定義如下:
public class LoginUser { private String username; private String password; private Date loginTime; // getter/setter }
@JsonProperty:作用於屬性上,用來為轉的JSON的Key指定一個別名。
比如,username需要返回前端為phone,則使用@JsonProperty註解進行聲明。
@JsonProperty("phone") private String username;
返回的Json字元串中username對應的key便為phone。
@Jsonlgnore:作用於屬性上,用來忽略此屬性。
比如,password不進行返回,則使用該屬性。
@JsonIgnore private String password;
@JsonIgnoreProperties:作用於類上,忽略一組屬性。
比如,再新增一個remark欄位,同時忽略password和remark。
@JsonIgnoreProperties({"password","remark"}) public class LoginUser {}
@JsonFormat:作用於屬性上,對日期格式化。
比如,當個別類的日期需要訂製化處理,則使用該註解。
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:s