本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
问题由来:
springboot 项目中定义了很多类,我们在 rest 返回中直接返回或者在返回对象中使用这些类,spring 已经使用 jackson 自动帮我们完成这些的 to json。但是有时候自动转的 json 内容太多,或者格式不符合我们的期望,因此需要调整类的 to json 过程,或者说希望自定义类的 json 过程。
解决办法:
使用 @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"