Об этом проекте
# Домашняя страница проекта 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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.