JsonProperty注解详解及用法示例
前言
日常工作当中,用到的涉及到的注解非常多,好多注解有的项目中用不上(当然也是具体看项目),
有的项目用的确很多,记录下,方便以后查阅
@JsonProperty
介绍
JsonProperty作用于序列化或者反序列化时,映射的属性的名字,可以放在get
方法,set
方法,属性上,都可以
@JsonProperty(value = "name")
private String userName;
- 序列化后
{"name" : "zhangsan"}
- Access属性
属性值 | 说明 |
---|---|
WRITE_ONLY | 仅做反序列化操作 |
READ_ONLY | 仅做序列化操作 |
index | 指定序列化顺序,序号越小,越靠前 |
@JsonProperty 有一个属性Access
,用来控制是否 能被【序列化】或者【反序列化】,默认是不受控制的。
- 属性值READ_ONLY
只能序列化,不能反序列化。
@JsonProperty(value = "name")
private String userName;
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
private String password;
-
序列化后
{"password" : "123456","name" : "zhangsan"}
-
属性值WRITE_ONLY
仅做反序列化操作
@JsonProperty(value = "name")
private String userName;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;
- 序列化后
{"name" : "zhangsan"}
用处
1、例如上面例子,需要将userName
序列化成name
,如果直接改代码,肯定改动地方很多,可以直接使用注解方式;
2、在pojo中有时候会有些特殊属性,我们可以序列化掉;
空空如也!