JValue: un parser JSON sin dependencias externas para Java 25
Un equipo construyó un toolkit JSON completo usando solo la biblioteca estándar de Java, sin Jackson ni Gradle, en 72 horas.

Un equipo de desarrolladores ha construido JValue, un kit de herramientas para JSON en Java 25 que no depende de ninguna librería de terceros ni de Maven ni de Gradle. El proyecto nace de ZeroDepsHack 2026, un hackathon centrado en demostrar que es posible reimplementar componentes básicos de datos usando únicamente la biblioteca estándar (java.base). El objetivo no es demonizar las dependencias, sino responder a la creciente preocupación por la seguridad de la cadena de suministro, como evidencian incidentes recientes con paquetes de npm.
3.000 líneas de código y cero dependencias
JValue consiste en un parser recursivo, un serializador, una implementación del estándar RFC 6901 (JSON Pointer) y una interfaz de línea de comandos. El total de producción suma unos 3.000 líneas de Java repartidas en 14 archivos. Los autores verificaron con jdeps que cada clase depende exclusivamente de java.base. No hay ningún jar de terceros en el classpath.
La API pública es mínima: Json.parse() para leer texto, Json.stringify() para compactar, Json.pointer() para navegar la estructura y métodos de archivo para lectura y escritura. El modelo de datos utiliza una jerarquía de interfaces selladas (sealed interface), lo que permite al compilador de Java 25 ejecutar comprobaciones de exhaustividad en las expresiones switch. Si un desarrollador olvida manejar un caso en el modelo, javac lo detecta en tiempo de compilación, algo que la librería Jackson no ofrece de forma nativa en su árbol JsonNode.
Lo queJava no incluye y lo que sí ofrece
El principal obstáculo fue la ausencia de una implementación JSON en la biblioteca estándar de Java, a diferencia de Python o Go. Para las pruebas, al no poder usar JUnit, el equipo escribió su propio TestRunner y aserciones manuales. También desarrollaron una utilidad interna para descargar y extraer el corpus de pruebas JSONTestSuite desde GitHub usando java.net.http.HttpClient y java.util.zip, incluyendo protección contra la vulnerabilidad zip-slip.
JValue no busca reemplazar features avanzadas de Jackson como el mapeo de POJOs o las API de streaming. Su alcance se limita al flujo central: analizar texto JSON, navegarlo y serializarlo. El proyecto documenta en un archivo STDLIB.md las 12 sustituciones específicas realizadas, detallando las ventajas y las limitaciones de cada decisión técnica. Este tipo de ejercicios sirve como recordatorio de cómo funcionan los formatos de datos bajo el capó y de que las dependencias, aunque útiles, añaden superficie de ataque que hay que gestionar.
