Spring Boot @JsonProperty注解的使用方法详解

分类:知识百科 日期: 点击:0

Spring Boot @JsonProperty 注解的使用方法

Spring Boot 中使用 @JsonProperty 注解可以实序列化时的字段控制,可以指定序列化字段的名字,也可以指定字段是否可以被序列化或反序列化,以及可以指定字段的默认值。

使用方法

@JsonProperty 注解可以用在属性或者 getter 上,属性上的注解优先级比 getter 高。

1.指定序列化字段的名字

@JsonProperty("name")
private String userName;

使用 @JsonProperty 注解可以指定序列化字段的名字,这样在序列化时字段就会变成 name,而不是 userName。

2.指定字段是否可以被序列化或反序列化

@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;

使用 @JsonProperty 注解可以指定字段是否可以被序列化或反序列化,上面的代码指定 password 字段只能被序列化,不能被反序列化,也就是说在序列化时 password 字段会被输出,但是在反序列化时 password 字段会被忽略,不会被赋值。

3.指定字段的默认值

@JsonProperty(defaultValue = "zhangsan")
private String userName;

使用 @JsonProperty 注解可以指定字段的默认值,上面的代码指定 userName 字段的默认值是 zhangsan,如果在反序列化时 userName 字段没有传值,那么 userName 字段的值就会被设置为 zhangsan。

4.指定字段的名字和默认值

@JsonProperty(value = "name", defaultValue = "zhangsan")
private String userName;

使用 @JsonProperty 注解可以同时指定字段的名字和默认值,上面的代码指定 userName 字段的名字是 name,默认值是 zhangsan,如果在反序列化时 userName 字段没有传值,那么 userName 字段的值就会被设置为 zhangsan,而在序列化时 userName 字段会被输出为 name。

5.指定字段的名字、是否可以被序列化或反序列化、以及默认值

@JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY, defaultValue = "zhangsan")
private String userName;

使用 @JsonProperty 注解可以同时指定字段的名字、是否可以被序列化或反序列化,以及默认值,上面的代码指定 userName 字段的名字是 name,只能被序列化,不能被反序列化,默认值是 zhangsan,如果在反序列化时 userName 字段没有传值,那么 userName 字段的值就会被设置为 zhangsan,而在序列化时 userName 字段会被输出为 name,但是在反序列化时 userName 字段会被忽略,不会被赋值。

Spring Boot 中使用 @JsonProperty 注解可以实序列化时的字段控制,可以指定序列化字段的名字,也可以指定字段是否可以被序列化或反序列化,以及可以指定字段的默认值。使用 @JsonProperty 注解可以用在属性或者 getter 上,属性上的注解优先级比 getter 高。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。