La compresión JSON (JSON Minification) es el proceso de eliminar todos los caracteres de espacio innecesarios (espacios, saltos de línea \n, tabulaciones \t, retornos de carro \r) y comentarios (no estándar pero comunes) del texto JSON, convirtiendo JSON formateado con indentación multinivel a formato compacto de una sola línea. La compresión JSON no cambia ningún contenido de datos: los nombres de clave, valores de clave, tipos de datos (cadena/número/booleano/null/array/objeto) y estructura anidada permanecen completamente intactos, solo se eliminan los espacios de formato para lectura humana.
El valor central de la compresión JSON es reducir el volumen de datos. Los espacios de indentación y saltos de línea en JSON formateado, aunque amigables para los desarrolladores, son bytes redundantes durante la transmisión y el almacenamiento en red. Por ejemplo, una respuesta API típica puede tener 2 KB formateada y solo 1,2-1,5 KB comprimida, reduciendo el tamaño entre un 25% y un 40%. En escenarios API de alta concurrencia, entornos móviles con red débil y distribución masiva de archivos de configuración, la compresión JSON reduce significativamente el consumo de ancho de banda, mejora la velocidad de transmisión y reduce la carga del servidor. En producción se usa normalmente junto con compresión HTTP como Gzip/Brotli, pero JSON Minify como compresión de capa de contenido sigue siendo insustituible.
La implementación de la compresión JSON es muy sencilla: usa JSON.parse() para analizar el texto en un objeto JavaScript, luego usa JSON.stringify(obj) sin parámetros de indentación para serializar la salida; esta es precisamente la implementación central de esta herramienta. Este método de parse + stringify garantiza naturalmente que el JSON de salida sea 100% válido y también elimina automáticamente comentarios ilegales y comas finales (junto con la reparación de errores). Es importante tener en cuenta: la compresión JSON y la compresión Gzip son optimizaciones de diferentes capas: JSON Minify elimina espacios redundantes en la capa de contenido, Gzip es un algoritmo de compresión general en la capa de transmisión, y ambos se pueden usar en combinación.