Sobre el proyecto

# Página Principal del Proyecto Jackson Esta es la página principal del proyecto Jackson, un conjunto de herramientas de procesamiento de datos para Java y la plataforma JVM. Jackson es ampliamente conocido como "la biblioteca JSON para Java" o "el mejor analizador JSON para Java", pero va más allá de JSON para soportar muchos otros formatos de datos. ## Resumen Jackson proporciona: - **Analizador/generador JSON en streaming** (jackson-core): API de bajo nivel y alto rendimiento - **Data-binding** (jackson-databind): serialización/deserialización de POJOs a/desde JSON - **Anotaciones** (jackson-annotations): anotaciones estándar para controlar la serialización - **Módulos de formato de datos**: soporte para Avro, CBOR, CSV, Ion, Protobuf, Smile, TOML, YAML y más - **Módulos de tipos de datos**: soporte para tipos de Java 8, Guava, Joda-Time y muchas bibliotecas de terceros - **Módulos de lenguajes JVM**: Kotlin, Scala y otros ## Versionado - **1.x** (`org.codehaus.jackson`): obsoleta, sin nuevos lanzamientos - **2.x** (`com.fasterxml.jackson.core`): madura, ampliamente utilizada, con ramas LTS (por ejemplo, 2.18, 2.21) - **3.x** (`tools.jackson`): en desarrollo activo, recomendada para nuevos proyectos Las versiones principales usan diferentes paquetes de Java y groupIds de Maven, por lo que pueden coexistir en el mismo proyecto sin conflictos. ## Módulos Centrales - **jackson-core**: API de streaming, implementación específica de JSON - **jackson-databind**: data-binding y serialización de objetos, depende de streaming y anotaciones - **jackson-annotations**: configuración basada en anotaciones - **jackson-bom**: Bill of Materials para gestión de versiones consistente ## Módulos de Formato de Datos Los formatos totalmente soportados incluyen: - **Avro**: formato de datos binario con soporte de esquemas - **CBOR**: variante binaria de JSON - **CSV**: valores separados por comas - **Ion**: formato binario de Amazon Ion - **Protobuf**: Protocol Buffers - **Smile**: JSON binario, 100% compatible con la API de streaming - **TOML**: formato de configuración - **YAML**: formato de datos legible por humanos Los módulos de terceros añaden soporte para BEncode, BSON, MessagePack, Rison y más. ## Módulos de Tipos de Datos Los módulos oficiales soportan: - Tipos de Java 8 (Optional, fecha/hora) - Colecciones de Guava - Joda-Time - JSON-P (javax.json y jakarta.json) - Tipos de org.json Los módulos comunitarios añaden soporte para VAVR, Apache Commons Lang, Java Money y otros. ## Herramientas Adicionales - **Afterburner**: acelera el data-binding en un 30-40% mediante generación de bytecode - **Mr Bean**: genera clases de implementación sobre la marcha - **Generadores de JSON Schema**: crean JSON Schema a partir de POJOs - **Validadores**: validador de JSON Schema para Java ## Comunidad y Soporte Jackson se soporta a través de listas de correo, Gitter y problemas de GitHub. El proyecto agradece contribuciones; consulte CONTRIBUTING.md para más detalles. Las vulnerabilidades de seguridad se pueden reportar de forma privada. ## Actualizaciones Recientes - Sep 2025: Guía de migración a Jackson 3 añadida - Sep 2025: Cambio en el esquema de versiones de jackson-annotations en 2.20 - Feb 2024: Auditoría de seguridad en módulos de formato/tipos de datos - Dic 2023: Guía de estilo de codificación añadida Para notas de lanzamiento completas y estado de soporte, consulte la página wiki de Jackson Releases.