首页
学习
活动
专区
圈层
工具
发布
25 篇文章
1
SpringBoot2.x系列教程(五十九)SpringBoot实现国际化i18n功能
2
SpringBoot2.x系列教程(五十五)Mybatis反向生成Java代码
3
SpringBoot2.x系列教程(四十四)WebSocket基础知识简介
4
SpringBoot2.x系列教程(四十三)SpringBoot整合Swagger2
5
SpringBoot2.x系列教程(五十)Spring Boot Idea中热部署(自动刷新)
6
SpringBoot2.x系列教程(四十二)SpringBoot中构建RESTful服务
7
SpringBoot2.x系列教程(三十八)SpringBoot配置Https访问
8
SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置
9
SpringBoot2.x系列教程(三十四)Thymeleaf自动配置源码解析
10
SpringBoot2.x系列教程(三十三)Thymeleaf手动渲染实例讲解
11
SpringBoot2.x系列教程(三十二)Thymeleaf资源导入及公共布局
12
SpringBoot2.x系列教程(三十一)Thymeleaf的基本使用
13
SpringBoot2.x系列教程(三十)SpringBoot集成Thymeleaf
14
SpringBoot2.x系列教程(二十九)freemarker自动配置源码解析
15
SpringBoot2.x系列教程(二十八)freemarker基本语法使用
16
SpringBoot2.x系列教程(二十六)Springboot集成freemarker
17
SpringBoot2.x系列教程(二十五)Jsp中使用jstl和引入静态资源
18
SpringBoot2.x系列教程(二十三)SpringBoot集成Jsp
19
SpringBoot2.x系列教程(二十二)简单参数校验及统一异常处理
20
SpringBoot2.x系列教程(二十)自定义参数校验注解
21
SpringBoot2.x系列教程(十三)Jackson命名策略及自定义序列化
22
SpringBoot2.x系列教程(十)Json之基础使用详解
23
SpringBoot2.x系列教程(十九)Validation数据校验基础使用
24
SpringBoot2.x系列教程(九)基于Postman的RESTful接口调用
25
SpringBoot2.x系列教程(八)SpringBoot常用注解汇总

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

上篇文章中我们介绍了常见的Jackson注解,本篇文章对其进行扩展,重点介绍指定自定义序列化的注解@JsonSerialize。

@JsonNaming

首先,上节课的注解中漏掉了一个@JsonNaming注解,我们先来看一下该注解的具体使用。

@JsonNaming:作用于类或属性上,用于指定命名的策略。Jackson默认自带了多种策略。该注解可对照@JsonProperty的功能。

比如,根据Java类属性的驼峰标识转换为以“_”拼接的形式。

代码语言:javascript
复制
@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的实现:

代码语言:javascript
复制
public class OrderSerializer extends JsonSerializer<Order> {

	@Override
	p
下一篇
举报
领券