SpringBoot2.x系列教程(十二)Jackson常用注解使用详解

在前些文章中我们曾提到一个问题,比如在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

猜你喜欢

转载自blog.csdn.net/wo541075754/article/details/103799239