Formateador de JSON
Embellece, valida y minifica JSON en tu navegador. Pega tus datos, elige un estilo de sangría y obtén al instante un resultado limpio y legible: no se sube nada.
0 líneas · 0 caracteres
Sangría
Cómo usar Formateador de JSON
- 1
Pega tu JSON
Pega en el panel de entrada un JSON minificado, desordenado o ya con sangría.
- 2
Elige la sangría
Selecciona 2 espacios, 4 espacios o tabulaciones para controlar cómo se sangra la salida embellecida.
- 3
Formatea o minifica
Haz clic en 'Formatear' para embellecer y validar el JSON, o en 'Minificar' para compactarlo en una sola línea.
- 4
Copia el resultado
Usa el botón 'Copiar' para obtener la salida formateada o minificada para tu proyecto.
Trabajar con JSON: formato, validación y los errores que muerden
Qué es realmente JSON
JSON (JavaScript Object Notation) es un formato de intercambio de datos basado en texto que se ha convertido en la forma predeterminada en que los servicios se comunican entre sí por HTTP. A pesar del nombre, es independiente del lenguaje: existen analizadores para todos los lenguajes principales, y el formato de transmisión no es más que texto UTF-8. Un documento se construye a partir de exactamente seis tipos de valor: objetos (colecciones desordenadas de clave/valor), arrays (listas ordenadas), cadenas, números, los booleanos true y false, y null. Todo lo que serializas, desde una respuesta de API hasta un archivo de configuración, se descompone en esos seis.
Dos reglas confunden a la gente constantemente. Primero, las claves de un objeto deben ser cadenas entre comillas dobles: no se permiten los identificadores sueltos, a diferencia de los literales de objeto de JavaScript. Segundo, JSON no distingue entre entero y decimal y no tiene sintaxis de comentarios. Un número es simplemente un número, y cualquier nota humana que quieras dejar tiene que vivir dentro del valor de una cadena o eliminarse antes de analizar.
Dar formato frente a minificar
Son dos vistas de los mismos datos. Dar formato (también llamado embellecer o pretty-print) inserta saltos de línea y sangría para que el anidamiento se vea de un vistazo: esto es lo que quieres al leer una carga, al comparar dos respuestas en el control de versiones o al pegar un ejemplo en la documentación. Minificar hace lo contrario: elimina cada byte de espacio en blanco insignificante para producir una sola línea compacta, que es lo que envías por la red, donde cada kilobyte cuesta latencia y ancho de banda.
Ambas direcciones son sin pérdidas para los datos en sí. El espacio en blanco entre tokens nunca es significativo en JSON, así que colapsar un objeto de 40 líneas en una sola línea y volver a expandirlo da valores analizados idénticos. Lo único que cambia es el recuento de bytes y la legibilidad, que es justamente por lo que esta herramienta ofrece ambos botones en lugar de imponer un único estilo.
Los errores de sintaxis con los que de verdad te toparás
El error más común con diferencia es la coma final: una coma después del último elemento de un array o del último par de un objeto. JavaScript la tolera; JSON la prohíbe, así que una lista que termina con una coma antes del corchete de cierre fallará al analizarse. Justo detrás vienen las comillas simples en lugar de las dobles (las cadenas JSON deben usar comillas dobles) y las claves sin comillas copiadas directamente del código fuente de JavaScript.
Otros culpables frecuentes: un comentario perdido (// o de estilo de bloque), que es válido en JSONC y JSON5 pero no en JSON estricto; valores como NaN, Infinity o undefined, que sencillamente no existen en la especificación; y caracteres de control sin escapar, como una tabulación o un salto de línea literales dentro de una cadena. Cuando el validador señale una línea, revisa uno o dos caracteres antes de la posición resaltada: el analizador a menudo solo nota el problema en el siguiente token tras el error real.
Elegir un estilo de sangría
Dos espacios es el estándar de facto para JSON en la web y el valor predeterminado que emite la mayoría de las herramientas, incluidos muchos linters y formateadores. Cuatro espacios se lee con más holgura para estructuras muy anidadas, y las tabulaciones permiten que cada desarrollador elija su propio ancho en pantalla manteniendo el archivo idéntico byte a byte. La respuesta correcta es lo que tu repositorio ya use; mezclar estilos dentro de un mismo proyecto produce diffs ruidosos y sin sentido.
La sangría es puramente cosmética y se descarta en el momento en que el documento se analiza, así que nunca afecta a la corrección. Elige un ancho, aplícalo de manera coherente y deja que el formateador normalice cualquier cosa pegada desde otra fuente.
El orden de las claves y la integridad de los datos
Este formateador vuelve a sangrar y a espaciar tu documento, pero no reordena las claves ni altera ningún valor. Eso importa porque, aunque la especificación de JSON define los objetos como desordenados, prácticamente todos los analizadores reales conservan el orden de inserción, y los consumidores posteriores —pruebas de instantáneas, cargas firmadas, revisores humanos que leen un diff— a menudo dependen de él. Una herramienta que ordenara las claves en silencio podría romper una comprobación de firma o enterrar un cambio de una línea en una reorganización de cien líneas.
Si de verdad quieres una salida canónica y ordenada para diffs estables o hashing de contenido, esa es una operación deliberada y separada en la que deberías optar conscientemente, no un efecto secundario del pretty-print. Mantener separados el formato y el reordenamiento significa que siempre sabes exactamente qué cambió.
Números, precisión y Unicode
Los números de JSON son decimales y no tienen un límite de tamaño declarado, pero el motor de JavaScript que los analiza en tu navegador los almacena como coma flotante de 64 bits. Eso significa que los enteros mayores de unos nueve mil billones (el techo de entero seguro) pueden perder precisión en un viaje de ida y vuelta, que es por lo que los identificadores grandes, los valores snowflake y las cantidades de dinero se transmiten a menudo como cadenas en lugar de como números en bruto. Si la exactitud importa, pon el valor entre comillas.
Las cadenas son Unicode completo. Puedes escribir los caracteres directamente como UTF-8 o como secuencias de escape barra invertida-u, y ambas formas se analizan dando los mismos puntos de código. Como el formato es texto UTF-8 de principio a fin, las letras acentuadas, las escrituras no latinas y los emoji sobreviven intactos al formato y a la minificación.
Todo se queda en tu navegador
Todo el análisis, la validación y la reserialización se ejecutan localmente en JavaScript. Nada de lo que pegas se sube, registra ni almacena en un servidor, así que es seguro dar formato a respuestas de API que contienen tokens de acceso, identificadores internos o datos de clientes. El límite práctico es la memoria de tu dispositivo y no ningún límite de subida, así que las exportaciones grandes se formatean bien en una máquina razonablemente equipada.
Un hábito útil: cuando una integración se comporta mal, pega aquí primero la respuesta en bruto. Confirmar que la carga es JSON bien formado antes de culpar a tu código separa en segundos un fallo de serialización de un fallo de análisis, y lo hace sin filtrar la carga a ningún sitio.
Preguntas frecuentes
¿Cuál es la diferencia entre Formatear y Minificar?
¿El formateador valida mi JSON?
¿Qué opciones de sangría hay disponibles?
¿Reordena mis claves o cambia los datos?
¿Se sube mi JSON y puede manejar archivos grandes?
Herramientas relacionadas
Sigue trabajando con estas prácticas herramientas