À propos du projet

# Page d'accueil du projet Jackson Ceci est la page portail principale du projet Jackson, une suite d'outils de traitement de données pour Java et la plateforme JVM. Jackson est largement connu comme "la bibliothèque JSON pour Java" ou "le meilleur parseur JSON pour Java", mais il va au-delà de JSON pour supporter de nombreux autres formats de données. ## Vue d'ensemble Jackson fournit : - **Parseur/générateur JSON en flux** (jackson-core) : API bas niveau et haute performance - **Liaison de données** (jackson-databind) : sérialisation/désérialisation de POJO vers/depuis JSON - **Annotations** (jackson-annotations) : annotations standard pour contrôler la sérialisation - **Modules de formats de données** : support pour Avro, CBOR, CSV, Ion, Protobuf, Smile, TOML, YAML, et plus - **Modules de types de données** : support pour les types Java 8, Guava, Joda-Time, et de nombreuses bibliothèques tierces - **Modules de langages JVM** : Kotlin, Scala, et autres ## Versions - **1.x** (`org.codehaus.jackson`) : obsolète, aucune nouvelle version - **2.x** (`com.fasterxml.jackson.core`) : mature, largement utilisée, avec des branches LTS (par ex., 2.18, 2.21) - **3.x** (`tools.jackson`) : activement développée, recommandée pour les nouveaux projets Les versions majeures utilisent différents packages Java et groupIds Maven, donc elles peuvent coexister dans le même projet sans conflits. ## Modules de base - **jackson-core** : API de flux, implémentation spécifique à JSON - **jackson-databind** : liaison de données et sérialisation d'objets, dépend du flux et des annotations - **jackson-annotations** : configuration basée sur les annotations - **jackson-bom** : Bill of Materials pour une gestion cohérente des versions ## Modules de formats de données Les formats entièrement pris en charge incluent : - **Avro** : format de données binaire avec support de schéma - **CBOR** : variante binaire de JSON - **CSV** : valeurs séparées par des virgules - **Ion** : format binaire Amazon Ion - **Protobuf** : Protocol Buffers - **Smile** : JSON binaire, 100% compatible API avec le flux - **TOML** : format de configuration - **YAML** : format de données lisible par l'homme Les modules tiers ajoutent le support pour BEncode, BSON, MessagePack, Rison, et plus. ## Modules de types de données Les modules officiels supportent : - Types Java 8 (Optional, date/heure) - Collections Guava - Joda-Time - JSON-P (javax.json et jakarta.json) - Types org.json Les modules communautaires ajoutent le support pour VAVR, Apache Commons Lang, Java Money, et autres. ## Outils supplémentaires - **Afterburner** : accélère la liaison de données de 30 à 40% via la génération de bytecode - **Mr Bean** : génère des classes d'implémentation à la volée - **Générateurs de schémas JSON** : créent des schémas JSON à partir de POJOs - **Validateurs** : validateur de schémas JSON pour Java ## Communauté et support Jackson est soutenu via des listes de diffusion, Gitter et les issues GitHub. Le projet accueille les contributions ; voir CONTRIBUTING.md pour plus de détails. Les vulnérabilités de sécurité peuvent être signalées en privé. ## Mises à jour récentes - Sep 2025 : Guide de migration Jackson 3 ajouté - Sep 2025 : Changement du schéma de version de jackson-annotations en 2.20 - Fév 2024 : Audit de sécurité sur les modules dataformat/datatype - Déc 2023 : Guide de style de codage ajouté Pour les notes de version complètes et le statut de support, voir la page wiki Jackson Releases.