用Jackson进行Json序列化时的常用注解

时间:2024-10-13 00:03:19

Jackson时spring boot默认使用的json格式化的包,它的几个常用注解:

@JsonIgnore 用在属性上面,在序列化和反序列化时都自动忽略掉该属性

@JsonProperty("xxx") 用在属性上面,在序列化和反序列化时都将该属性识别为xxx

@JsonPropertyOrder(Value={"pname1","pname2"}) 用在实体类上面,主要是反序列时改变属性的排列顺序,pname1和pname2是实体类中的两个属性名称

@JsonInclude(JsonInclude.Include.NON_NULL) 用在属性上面,当该属性值为空时,反序列的时候就忽略掉该属性

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GTM+8") 用在时间类型(date)的属性上面,在序列化和反序列化时使用如下的时间格式:2019-09-09 12:02:01

spring boot中设置全局的Jackson序列化时候的日期格式,在application.yml(这里只用于将后缀该为yml的配置文件,其他的写法可能不一样):

server://这里时设置启动端口
port: 8888

spring://这个时日期格式全局设置
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8