SpringBoot2.x系列教程(十三)Jackson命名策略及自定义序列化

上篇文章中我们介绍了常见的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

猜你喜欢

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