这个项目能做什么
# Jackson 项目主页
这是 Jackson 项目的主要门户页面,Jackson 是一套面向 Java 和 JVM 平台的数据处理工具。Jackson 被广泛称为“Java JSON 库”或“Java 最佳 JSON 解析器”,但其功能超越 JSON,支持许多其他数据格式。
## 概述
Jackson 提供:
- **流式 JSON 解析器/生成器**(jackson-core):底层、高性能 API
- **数据绑定**(jackson-databind):POJO 与 JSON 之间的序列化/反序列化
- **注解**(jackson-annotations):用于控制序列化的标准注解
- **数据格式模块**:支持 Avro、CBOR、CSV、Ion、Protobuf、Smile、TOML、YAML 等
- **数据类型模块**:支持 Java 8 类型、Guava、Joda-Time 及许多第三方库
- **JVM 语言模块**:Kotlin、Scala 等
## 版本管理
- **1.x**(`org.codehaus.jackson`):已弃用,无新版本
- **2.x**(`com.fasterxml.jackson.core`):成熟、广泛使用,具有 LTS 分支(如 2.18、2.21)
- **3.x**(`tools.jackson`):积极开发中,推荐用于新项目
主要版本使用不同的 Java 包和 Maven groupId,因此可在同一项目中无冲突地共存。
## 核心模块
- **jackson-core**:流式 API,JSON 特定实现
- **jackson-databind**:数据绑定和对象序列化,依赖流式和注解
- **jackson-annotations**:基于注解的配置
- **jackson-bom**:用于一致版本管理的物料清单
## 数据格式模块
完全支持的格式包括:
- **Avro**:带模式支持的二进制数据格式
- **CBOR**:二进制 JSON 变体
- **CSV**:逗号分隔值
- **Ion**:Amazon Ion 二进制格式
- **Protobuf**:协议缓冲区
- **Smile**:二进制 JSON,与流式 API 100% 兼容
- **TOML**:配置文件格式
- **YAML**:人类可读的数据格式
第三方模块添加了对 BEncode、BSON、MessagePack、Rison 等的支持。
## 数据类型模块
官方模块支持:
- Java 8 类型(Optional、日期/时间)
- Guava 集合
- Joda-Time
- JSON-P(javax.json 和 jakarta.json)
- org.json 类型
社区模块添加了对 VAVR、Apache Commons Lang、Java Money 等的支持。
## 其他工具
- **Afterburner**:通过字节码生成将数据绑定速度提高 30-40%
- **Mr Bean**:即时生成实现类
- **JSON Schema 生成器**:从 POJO 创建 JSON Schema
- **验证器**:Java JSON Schema 验证器
## 社区与支持
Jackson 通过邮件列表、Gitter 和 GitHub 问题获得支持。项目欢迎贡献;详情见 CONTRIBUTING.md。安全漏洞可私下报告。
## 近期更新
- 2025 年 9 月:添加 Jackson 3 迁移指南
- 2025 年 9 月:jackson-annotations 2.20 版本方案变更
- 2024 年 2 月:对 dataformat/datatype 模块进行安全审计
- 2023 年 12 月:添加编码风格指南
有关完整发布说明和支持状态,请参阅 Jackson Releases 维基页面。
评论
0 评分人数达到10人后显示
登录后参与讨论。