Compresión JSON
Herramienta gratuita de compresión JSON online, admite compresión compacta de JSON en una línea, Escape/Unescape de JSON, incluye reparación sintáctica inteligente que maneja automáticamente comas finales y otros errores comunes, muestra tasa de compresión en tiempo real, editor CodeMirror con atajos de teclado, procesamiento puramente frontend.
Relacionado
¿Qué es la compresión JSON (JSON Minify)?
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.
Casos de uso
- Comprimir cuerpos de solicitud/respuesta JSON en desarrollo API para reducir bytes de transmisión HTTP y mejorar la velocidad de respuesta de la interfaz (especialmente en entornos móviles con red débil)
- Simplificar archivos de configuración JSON frontend, paquetes de idiomas i18n y datos Mock antes del lanzamiento, reduciendo el tamaño de recursos estáticos
- Escapar objetos JSON a literales de cadena en código de pruebas unitarias, comandos Postman/curl para incrustar en código
- Desescapar con un clic JSON escapado copiado de registros (como \"key\":\"value\") a JSON legible
- Reparar por lotes archivos JSON con errores de sintaxis como comas finales y comillas simples, convirtiéndolos a JSON válido con un clic
- Comprimir JSON formateado a una sola línea y pegarlo en parámetros de comandos de una línea o herramientas de chat para compartir
Cómo Usar
- Pega el contenido JSON en el editor izquierdo, o haz clic en el botón de subir para seleccionar un archivo .json/.txt local, también puedes hacer clic en el botón «Ejemplo» para cargar un ejemplo
- Por defecto se ejecuta automáticamente el modo de compresión (debounce de 400 ms), también puedes hacer clic manualmente en el botón «Comprimir» o pulsar el atajo Shift+Cmd/Ctrl+C
- Cuando necesites escapar a cadena de código, pulsa Shift+Cmd/Ctrl+E o cambia el modo a Escape; cuando necesites revertir una cadena escapada, pulsa Shift+Cmd/Ctrl+U
- Si el JSON tiene errores de sintaxis, se mostrará una alerta de error roja en la parte inferior; cuando haya errores reparables, aparecerá un botón «Intentar reparar», haz clic para corregir automáticamente
- La barra de estado inferior muestra en tiempo real los bytes antes/después de la compresión y el porcentaje de tasa de compresión; después de confirmar el resultado, haz clic en el botón «Copiar» o «Descargar»
- La barra divisoria entre los paneles izquierdo y derecho se puede arrastrar para ajustar el ancho, también puedes usar atajos de teclado para completar rápidamente todas las operaciones
Características
- Función tres en uno: compresión compacta de JSON + Escape + Unescape, cubriendo tres escenarios: reducir tamaño, incrustar en cadenas de código y revertir cadenas escapadas
- Reparación sintáctica inteligente: motor tryFixJSON integrado que detecta y repara automáticamente comas finales, comillas simples, comentarios, comillas no cerradas y otros errores comunes de JSON
- Editor CodeMirror: diseño de doble panel con entrada izquierda y resultados derecha, compatible con resaltado de sintaxis JSON, barra divisoria arrastrable y ajuste de tamaño de fuente
- Estadísticas de compresión en tiempo real: la barra de estado muestra instantáneamente el tamaño original (Bytes/KB/MB), tamaño comprimido y porcentaje exacto de tasa de compresión
- Atajos de teclado: Shift+Cmd/Ctrl+C comprimir, E escapar, U desescapar, O subir, D descargar, K limpiar, eficiente sin necesidad de ratón
- Modo de ejecución automática: después de pegar o editar, comprime/escapa automáticamente con debounce de 400 ms, WYSIWYG
- Subida y descarga de archivos: admite arrastrar o hacer clic para subir archivos .json/.txt, y descargar output.json con un clic después de procesar
- Memoria de historial local: localStorage guarda automáticamente el contenido de la última entrada, no se pierde al refrescar la página
- Datos de ejemplo: carga JSON de ejemplo con un clic para probar rápidamente, las alertas de error incluyen botón de reparación
- Seguridad puramente frontend: todo el procesamiento se ejecuta en el navegador local, los datos no se suben al servidor, funciona sin conexión
Preguntas Frecuentes
¿Cuál es la diferencia entre compresión JSON y formateo JSON?
El formateo JSON (Beautify) añade indentación, saltos de línea y espacios entre pares clave-valor para que sea más fácil de leer para el ojo humano, adecuado para desarrollo y depuración; la compresión JSON (Minify) elimina todos los caracteres de espacio innecesarios (espacios, saltos de línea, tabulaciones, indentación), convirtiendo JSON de varias líneas en un formato compacto de una sola línea, con el objetivo de reducir el tamaño y mejorar la eficiencia de transmisión, adecuado para transmisión API en producción, archivos de configuración compactos e incrustación en cadenas de código. Ambas son operaciones complementarias: se usa la versión formateada durante el desarrollo y la versión comprimida en producción.
¿Qué es el Escape de JSON? ¿Cuándo se necesita usar?
El Escape de JSON consiste en añadir barras invertidas de escape a los caracteres especiales en cadenas JSON (principalmente convirtiendo comillas dobles " a \", barras invertidas \ a \\, saltos de línea a \n, etc.), convirtiendo objetos JSON de varias líneas en un literal de cadena de una sola línea que se puede incrustar directamente en código fuente de JavaScript, Java, Python, etc. Escenarios típicos: incrustar respuestas JSON como cadenas en código de prueba al escribir pruebas unitarias; pasar cadenas JSON en comandos Postman o curl; usar JSON como valor de cadena en archivos de configuración. Unescape revierte la cadena escapada a JSON estándar.
Si el JSON de entrada tiene errores de sintaxis (como coma final), ¿se puede comprimir con éxito?
Sí. Esta herramienta incluye un motor de reparación sintáctica inteligente (tryFixJSON) que detecta automáticamente e intenta reparar errores comunes de JSON antes de comprimir: 1) comas sobrantes al final (trailing comma), como {"a":1,}; 2) comillas simples en lugar de comillas dobles, como {'a':1}; 3) cadenas no cerradas; 4) comentarios de JavaScript (// y /* */); 5) comas sobrantes al final, etc. Después de reparar, se ejecuta la compresión o el escape para garantizar que la salida sea JSON 100% válido. Si se detectan errores reparables, aparecerá un botón «Intentar reparar» en el panel; haz clic para corregir automáticamente.
¿La compresión JSON pierde datos? ¿Cuál es la tasa de compresión habitual?
No pierde datos. La compresión JSON solo elimina caracteres de espacio de formato (espacios, saltos de línea, tabulaciones), sin cambiar ningún nombre de clave, valor de clave, tipo de dato ni estructura. Después de JSON.parse y JSON.stringify, los datos son completamente idénticos a los originales. La tasa de compresión depende del grado de formateo del JSON original: si el JSON original estaba formateado con indentación de 2 espacios, la tasa de compresión suele ser del 20%-40% (eliminando indentación y saltos de línea); si hay muchos espacios consecutivos o comentarios (después de reparar), la tasa de compresión puede superar el 50%. La barra de estado muestra en tiempo real el número de bytes originales, los bytes comprimidos y la tasa de compresión exacta.
¿Se filtrarán datos al comprimir configuraciones JSON sensibles o datos de API?
No. Esta herramienta adopta una arquitectura de procesamiento puramente frontend. Todo el análisis, compresión, escape y reparación de JSON se realiza completamente en el motor JavaScript de tu navegador local. Los datos no se suben a servidores externos mediante ninguna solicitud de red, y se puede usar sin conexión. Tu clave API, configuración de base de datos, datos de negocio y otra información sensible permanecen siempre localmente.
¿Qué atajos de teclado admite?
Para mejorar la eficiencia, esta herramienta ofrece soporte completo de atajos de teclado (macOS usa ⌘+Shift, Windows usa Ctrl+Shift): Shift+⌘/Ctrl+C comprimir con un clic; Shift+⌘/Ctrl+E escapar; Shift+⌘/Ctrl+U desescapar; Shift+⌘/Ctrl+O subir archivo; Shift+⌘/Ctrl+D descargar resultado; Shift+⌘/Ctrl+K limpiar. Al escribir, la herramienta también ejecuta automáticamente el modo actual con debounce de 400 ms, sin necesidad de hacer clic repetidamente en botones.
Glosario
- JSON
- JavaScript Object Notation, un formato ligero de intercambio de datos que usa pares clave-valor y estructuras de array, legible por humanos y fácil de analizar por máquinas, es el formato de datos estándar para REST API.
- Minify / Compresión
- Proceso de eliminar todos los caracteres innecesarios (espacios, saltos de línea, comentarios) del código/datos para reducir el tamaño, común en recursos frontend como JS/CSS/JSON.
- Beautify / Formateo
- Operación inversa de Minify, añade indentación, saltos de línea y espacios para que la estructura JSON sea clara y legible, también llamado Prettify o Pretty Print.
- Escape
- Añadir barras invertidas antes de caracteres especiales (como " que se convierte en \", salto de línea que se convierte en \n), convirtiendo JSON de varias líneas en un literal de cadena de una sola línea incrustable en código.
- Unescape
- Operación inversa de Escape, revierte secuencias de escape como \", \n, \\ a caracteres originales, restaurando el formato JSON estándar.
- Trailing Comma
- Coma sobrante después del último elemento de un objeto o array; JavaScript lo permite pero el estándar JSON no, es el error de sintaxis JSON más común.
- Gzip / Brotli
- Algoritmos de compresión general de capa de transmisión HTTP, complementarios a JSON Minify; el mejor efecto se obtiene comprimiendo con Gzip después de Minify.
- Payload
- El cuerpo de datos real transmitido en una solicitud o respuesta API (normalmente en formato JSON); comprimir Payload reduce directamente el consumo de ancho de banda.
- CodeMirror
- Componente de editor de código del lado del navegador; esta herramienta lo usa para lograr resaltado de sintaxis JSON, números de línea, coincidencia de paréntesis y experiencia de edición profesional.
Comparación entre compresión JSON y métodos de compresión comunes
| Método de compresión | Capa de compresión | Sin pérdida | Legibilidad | Escenario aplicable |
|---|---|---|---|---|
JSON Minify | Capa de contenido (eliminar espacios) | Sin pérdida | Ilegible (una línea) | Transmisión API producción, configuración compacta |
JSON Beautify | Capa de contenido (añadir espacios) | Sin pérdida | Alta legibilidad | Desarrollo y depuración, lectura humana |
Gzip | Capa de transmisión | Sin pérdida | Ilegible (binario) | Content-Encoding de respuestas HTTP |
Brotli | Capa de transmisión | Sin pérdida | Ilegible (binario) | Compresión de recursos estáticos HTTPS (20% más que Gzip) |
MessagePack | Capa de serialización | Sin pérdida | Ilegible (binario) | Comunicación interna RPC de alto rendimiento |
Tabla de caracteres especiales de escape JSON
| Carácter original | Después de escapar | Nombre | Descripción |
|---|---|---|---|
" | \" | Comillas dobles | El carácter más común que debe escaparse en cadenas JSON |
\ | \\ | Barra invertida | El carácter de escape en sí mismo necesita ser escapado |
Salto de línea | \n | Newline | Debe escaparse al comprimir cadenas de varias líneas a una sola línea |
Tabulación | \t | Tab | Escape de tabulación de indentación |
Retorno de carro | \r | Carriage Return | CR en el salto de línea CRLF de Windows |
/ | \/ | Barra diagonal | El estándar JSON permite pero no obliga a escaparla (opcional) |
Authoritative References
- Compresión JSON
- CSV a JSON
- JSON a CSV
- JSON Diff
- JSON Escape / Unescape
- JSON Flatten
- Formateo JSON
- Generador de JSON
- Consulta JSONPath
- Fusionar JSON
- Reparar JSON
- Validador JSON Schema
- Ordenar JSON
- JSON Stringify
- JSON a HTML
- JSON a Java
- JSON to Markdown
- JSON a SQL
- JSON a TOML
- JSON a TypeScript
- XML a JSON
- JSON a XML
- YAML a JSON
- JSON a YAML
- JSON a Python
- JSON a Go
- JSON a Rust
- JSON a Swift
- JSON a C#
- JSON a C++
- JSON a PHP