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