Jackson處理Json格式相關注解學習

1.指定字段不返回:@JsonIgnore

2.指定日期格式:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")

3.空字段不返回:@JsonInclude(Include.NON_NULL)

4.指定別名:@JsonProperty

測試:

SimpleController:

 @GetMapping("/testJson")
    Object testJson(){
        return new User(11,"13563986965",new Date(),"10010");
 }

Test1:

給用戶的密碼字段加上@JsonIgnore

  @JsonIgnore
  private String pwd;

測試返回結果:發現已經自動忽略掉了密碼字段

{
    "age": 11,
    "phone": "13563986965",
    "birthday": "2020-05-25T03:00:16.558+00:00"
}

Test2:

給用戶的生日字段加上:@JsonFormat

 @JsonFormat(pattern="yyyy-MM-dd",locale="zh",timezone="GMT+8")
 private Date birthday;

測試返回結果:發現用戶的生日數據已經被格式化

{
    "age": 11,
    "phone": "13563986965",
    "birthday": "2020-05-25"
}

Test3:

給用戶的用戶名字段加上@JsonInclude(Include.NON_NULL),並且將用戶名屬性值置爲Null

@GetMapping("/testJson")
Object testJson(){
   return new User(null,11,"13563986965",new Date(),"10010");
}
@JsonInclude(JsonInclude.Include.NON_NULL)
private String userName;

測試返回結果:發現用戶的用戶名字段不再顯示

加註解@JsonInclude(Include.NON_NULL)前返回結果:

{
    "userName": "wjl",
    "age": 11,
    "phone": "13563986965",
    "birthday": "2020-05-25"
}

加註解@JsonInclude(Include.NON_NULL)前返回結果:

{
    "age": 11,
    "phone": "13563986965",
    "birthday": "2020-05-25"
}

Test4:

給用戶的phone屬性加上@JsonProperty註解:

@JsonProperty("電話號碼")
private String phone;

 

測試結果:發現用戶的phone的屬性修改爲“電話號碼”:

{
    "userName": "wjl",
    "age": 11,
    "birthday": "2020-05-25",
    "電話號碼": "13563986965"
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章