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"
}