Sobre o projeto

# Página Inicial do Projeto Jackson Esta é a página principal do projeto Jackson, uma suíte de ferramentas de processamento de dados para Java e a plataforma JVM. Jackson é amplamente conhecido como "a biblioteca JSON para Java" ou "o melhor parser JSON para Java", mas vai além do JSON para suportar muitos outros formatos de dados. ## Visão Geral Jackson oferece: - **Parser/gerador JSON streaming** (jackson-core): API de baixo nível e alto desempenho - **Data-binding** (jackson-databind): serialização/desserialização de POJOs para/de JSON - **Anotações** (jackson-annotations): anotações padrão para controlar a serialização - **Módulos de formato de dados**: suporte a Avro, CBOR, CSV, Ion, Protobuf, Smile, TOML, YAML e mais - **Módulos de datatype**: suporte a tipos Java 8, Guava, Joda-Time e muitas bibliotecas de terceiros - **Módulos de linguagem JVM**: Kotlin, Scala e outros ## Versionamento - **1.x** (`org.codehaus.jackson`): descontinuado, sem novos lançamentos - **2.x** (`com.fasterxml.jackson.core`): maduro, amplamente usado, com ramos LTS (ex.: 2.18, 2.21) - **3.x** (`tools.jackson`): em desenvolvimento ativo, recomendado para novos projetos As versões principais usam pacotes Java e groupIds Maven diferentes, podendo coexistir no mesmo projeto sem conflitos. ## Módulos Centrais - **jackson-core**: API streaming, implementação específica para JSON - **jackson-databind**: data-binding e serialização de objetos, depende de streaming e anotações - **jackson-annotations**: configuração baseada em anotações - **jackson-bom**: Bill of Materials para gerenciamento consistente de versões ## Módulos de Formato de Dados Formatos totalmente suportados incluem: - **Avro**: formato de dados binário com suporte a schema - **CBOR**: variante binária do JSON - **CSV**: valores separados por vírgula - **Ion**: formato binário Amazon Ion - **Protobuf**: Protocol Buffers - **Smile**: JSON binário, 100% compatível com a API streaming - **TOML**: formato de configuração - **YAML**: formato de dados legível por humanos Módulos de terceiros adicionam suporte a BEncode, BSON, MessagePack, Rison e mais. ## Módulos de Datatype Módulos oficiais suportam: - Tipos Java 8 (Optional, data/hora) - Coleções Guava - Joda-Time - JSON-P (javax.json e jakarta.json) - Tipos org.json Módulos comunitários adicionam suporte a VAVR, Apache Commons Lang, Java Money e outros. ## Ferramentas Adicionais - **Afterburner**: acelera o data-binding em 30-40% via geração de bytecode - **Mr Bean**: gera classes de implementação em tempo real - **Geradores de JSON Schema**: criam JSON Schema a partir de POJOs - **Validadores**: validador de JSON Schema para Java ## Comunidade e Suporte Jackson é suportado por listas de e-mail, Gitter e issues no GitHub. O projeto aceita contribuições; veja CONTRIBUTING.md para detalhes. Vulnerabilidades de segurança podem ser relatadas de forma privada. ## Atualizações Recentes - Set 2025: Guia de Migração para Jackson 3 adicionado - Set 2025: Mudança no esquema de versionamento de jackson-annotations na 2.20 - Fev 2024: Auditoria de segurança em módulos dataformat/datatype - Dez 2023: Guia de Estilo de Codificação adicionado Para notas de lançamento completas e status de suporte, veja a página wiki Jackson Releases.