Об этом проекте

# Домашняя страница проекта Jackson Это главная портальная страница проекта Jackson — набора инструментов для обработки данных для Java и платформы JVM. Jackson широко известен как «библиотека Java для JSON» или «лучший JSON-парсер для Java», но он выходит за рамки 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 и groupId в Maven, поэтому они могут сосуществовать в одном проекте без конфликтов. ## Основные модули - **jackson-core**: потоковый API, реализация для JSON - **jackson-databind**: привязка данных и сериализация объектов, зависит от потокового API и аннотаций - **jackson-annotations**: конфигурация на основе аннотаций - **jackson-bom**: Bill of Materials для согласованного управления версиями ## Модули форматов данных Полностью поддерживаемые форматы включают: - **Avro**: двоичный формат данных с поддержкой схем - **CBOR**: двоичный вариант JSON - **CSV**: значения, разделенные запятыми - **Ion**: двоичный формат Amazon Ion - **Protobuf**: Protocol Buffers - **Smile**: двоичный JSON, 100% совместимый с потоковым API - **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**: создают JSON Schema из POJO - **Валидаторы**: валидатор Java JSON Schema ## Сообщество и поддержка Jackson поддерживается через списки рассылки, Gitter и GitHub Issues. Проект приветствует вклад; подробности см. в CONTRIBUTING.md. О уязвимостях безопасности можно сообщать конфиденциально. ## Последние обновления - Сентябрь 2025: добавлено руководство по миграции на Jackson 3 - Сентябрь 2025: изменение схемы версионирования jackson-annotations в 2.20 - Февраль 2024: аудит безопасности модулей dataformat/datatype - Декабрь 2023: добавлено руководство по стилю кода Полные примечания к выпускам и статус поддержки см. на вики-странице Jackson Releases.