@JsonIgnore注解和@JsonIgnoreProperties注解的使用

问题由来:
springboot项目中定义了很多类,我们在rest返回中直接返回或者在返回对象中使用这些类,spring已经使用jackson自动帮我们完成这些的to json。但是有时候自动转的json内容太多,或者格式不符合我们的期望,因此需要调整类的to json过程,或者说希望自定义类的json过程。


@JsonIgnoreProperties的使用
项目中我们经常会遇到想要的和定义的pojo不相符的情况,这个时候, 我们可以直接通过构造map方法返回, 或者定义在映射文件里自定义映射集。 另外,还可以通过注解的方式修饰pojo的属性, 常用的注解有:

@JsonIgnoreProperties、
@JsonIgnore、
@JsonFormat。

@JsonIgnore注解用来忽略某些字段,可以用在变量或者Getter方法上,用在Setter方法时,和变量效果一样。这个注解一般用在我们要忽略的字段上。

@JsonIgnoreProperties(ignoreUnknown = true),将这个注解写在类上之后,就会忽略类中不存在的字段。这个注解还可以指定要忽略的字段,例如@JsonIgnoreProperties({ “password”, “secretKey” })

@JsonFormat可以帮我们完成格式转换。例如对于Date类型字段,如果不适用JsonFormat默认在rest返回的是long,如果我们使用@JsonFormat(timezone = “GMT+8”, pattern = “yyyy-MM-dd HH:mm:ss”),就返回"2018-11-16 22:58:15"

posted on 2021-11-11 10:19  鲁班快跑  阅读(1452)  评论(0编辑  收藏  举报