Jackson
简介
continew-starter-json-jackson
是 ContiNew Starter 提供的 JSON 处理模块,基于 Jackson 框架实现,提供开箱即用的 JSON 序列化与反序列化解决方案。
主要特性
- 默认配置:预置符合 RESTful API 最佳实践的 JSON 处理规则
- 增强序列化支持:
- 大数值类型安全序列化(避免前端精度丢失)
- 时间类型全面支持:LocalDateTime/LocalDate/LocalTime/Instant/Duration 的序列化与反序列化
- JSR-310 日期时间 API 完整支持
- BaseEnum 序列化与反序列化支持
- JSON 工具类: JSONUtils、JSONBuilder
快速开始
引入依赖
xml
<dependency>
<groupId>top.continew.starter</groupId>
<artifactId>continew-starter-json-jackson</artifactId>
</dependency>
添加配置
下方配置为模块默认配置,你可根据需要进行覆盖,如果无需覆盖,则不需要配置下方内容。
配置详情请查看:top.continew.starter.json.jackson.autoconfigure.JacksonExtensionProperties
。
yaml
--- ### Spring 配置
spring:
## MVC 配置
mvc:
format:
# 日期格式化(针对 java.util.Date)
date-time: yyyy-MM-dd HH:mm:ss
## Jackson 配置
jackson:
# 时区配置
time-zone: GMT+8
# 日期格式化(针对 java.util.Date)
date-format: yyyy-MM-dd HH:mm:ss
# 序列化配置(Bean -> JSON)
serialization:
# 不允许序列化日期时以 timestamps 输出(默认:true)
write-dates-as-timestamps: false
# 允许序列化无属性的 Bean
fail-on-empty-beans: false
# 反序列化配置(JSON -> Bean)
deserialization:
# 允许反序列化不存在的属性
fail-on-unknown-properties: false
# 大数值序列化模式
big-number-serialize-mode: FLEXIBLE
核心依赖
依赖坐标 | 描述 |
---|---|
top.continew.starter:continew-starter-core | 核心模块 |
org.springframework.boot:spring-boot-starter-json | Spring Boot JSON 模块 |
com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | JSR-310 日期时间 API 支持模块 |