About this project

# Jackson Project Home This is the main portal page for the Jackson project, a suite of data-processing tools for Java and the JVM platform. Jackson is widely known as "the Java JSON library" or "the best JSON parser for Java," but it goes beyond JSON to support many other data formats. ## Overview Jackson provides: - **Streaming JSON parser/generator** (jackson-core): low-level, high-performance API - **Data-binding** (jackson-databind): POJO serialization/deserialization to/from JSON - **Annotations** (jackson-annotations): standard annotations for controlling serialization - **Data format modules**: support for Avro, CBOR, CSV, Ion, Protobuf, Smile, TOML, YAML, and more - **Datatype modules**: support for Java 8 types, Guava, Joda-Time, and many third-party libraries - **JVM language modules**: Kotlin, Scala, and others ## Versioning - **1.x** (`org.codehaus.jackson`): deprecated, no new releases - **2.x** (`com.fasterxml.jackson.core`): mature, widely used, with LTS branches (e.g., 2.18, 2.21) - **3.x** (`tools.jackson`): actively developed, recommended for new projects Major versions use different Java packages and Maven groupIds, so they can coexist in the same project without conflicts. ## Core Modules - **jackson-core**: streaming API, JSON-specific implementation - **jackson-databind**: data-binding and object serialization, depends on streaming and annotations - **jackson-annotations**: annotation-based configuration - **jackson-bom**: Bill of Materials for consistent version management ## Data Format Modules Fully supported formats include: - **Avro**: binary data format with schema support - **CBOR**: binary JSON variant - **CSV**: comma-separated values - **Ion**: Amazon Ion binary format - **Protobuf**: Protocol Buffers - **Smile**: binary JSON, 100% API-compatible with streaming - **TOML**: configuration format - **YAML**: human-readable data format Third-party modules add support for BEncode, BSON, MessagePack, Rison, and more. ## Datatype Modules Official modules support: - Java 8 types (Optional, date/time) - Guava collections - Joda-Time - JSON-P (javax.json and jakarta.json) - org.json types Community modules add support for VAVR, Apache Commons Lang, Java Money, and others. ## Additional Tools - **Afterburner**: speeds up databinding by 30-40% via bytecode generation - **Mr Bean**: generates implementation classes on-the-fly - **JSON Schema generators**: create JSON Schema from POJOs - **Validators**: Java JSON Schema validator ## Community and Support Jackson is supported through mailing lists, Gitter, and GitHub issues. The project welcomes contributions; see CONTRIBUTING.md for details. Security vulnerabilities can be reported privately. ## Recent Updates - Sep 2025: Jackson 3 Migration Guide added - Sep 2025: jackson-annotations versioning scheme change in 2.20 - Feb 2024: Security audit on dataformat/datatype modules - Dec 2023: Coding Style Guide added For full release notes and support status, see the Jackson Releases wiki page.