上篇文章中我们介绍了常见的Jackson注解,本篇文章对其进行扩展,重点介绍指定自定义序列化的注解@JsonSerialize。
@JsonNaming
首先,上节课的注解中漏掉了一个@JsonNaming注解,我们先来看一下该注解的具体使用。
@JsonNaming:作用于类或属性上,用于指定命名的策略。Jackson默认自带了多种策略。该注解可对照@JsonProperty的功能。
比如,根据Java类属性的驼峰标识转换为以“_”拼接的形式。
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class UserDetail {}
具体策略的定义位于PropertyNamingStrategy类中。常见的命名策略极其功能如下:
- SNAKE_CASE:示例“userName”转化为“user_name”。
- UPPER_CAMEL_CASE:示例“userName”转化为“UserName”。
- LOWER_CAMEL_CASE:默认模式,示例“userName”转化为“userName”。
- LOWER_CASE:示例“userName”转化为“username”。
- KEBAB_CASE:示例“userName”转化为“user-name”。
- LOWER_DOT_CASE:示例“userName”转化为“user.name”。
@JsonSerialize
@JsonSerialize指定JsonSerializer的实现类来进行自定义序列化。
首先看一下自定义Serializer的实现:
public class OrderSerializer extends JsonSerializer<Order> {
@Override
p
转载:https://blog.csdn.net/wo541075754/article/details/103809428
查看评论