Formateador JSON
Formatea, comprime y valida JSON. Elige el nivel de sangría para mejorar la legibilidad o comprime el JSON en una sola línea. También puedes verificar errores de sintaxis al instante.
Qué hace un formateador de JSON
Un formateador de JSON toma un JSON apretado en una sola línea y lo despliega de nuevo con sangría, o hace lo contrario: retira los espacios y lo devuelve a una única línea. Como para cualquiera de las dos cosas ha de analizar la entrada, le dice de paso si la sintaxis es correcta, de modo que pegar una respuesta de API o un archivo de configuración le da formateo, compresión y validación de una vez. La sangría puede ser de dos espacios, de cuatro o de un tabulador.
Quien juzga es el propio analizador de JSON del navegador, así que no se topará con el desajuste de que algo pase aquí y falle en su entorno de ejecución. Todo ocurre dentro de su equipo: el JSON que pega nunca se envía a un servidor. Incluso una respuesta que lleve un token de autenticación o datos personales puede ordenarse sin que nada salga de la máquina.
Cómo usar el formateador de JSON
- Pegue el JSON Péguelo en el cuadro de entrada de la izquierda. Si no tiene nada a mano, el botón de muestra carga un ejemplo.
- Elija la sangría Escoja dos espacios, cuatro o un tabulador. Si la ajusta a las reglas de su proyecto, podrá pegar el resultado de vuelta sin retoques.
- Compruebe la marca de válido o inválido La marca cambia conforme escribe. Cuando el JSON es inválido, se muestra tal cual el mensaje de error del analizador, de modo que puede seguir en qué línea y en qué carácter se detuvo.
- Copie el resultado formateado o el comprimido «Copiar formateado» lleva al portapapeles el resultado con sangría; «copiar comprimido», la única línea sin espacios.
- Lea el recuento de líneas y de bytes Las líneas se cuentan sobre el resultado formateado y los bytes sobre el comprimido, medidos en UTF-8. Para estimar cuánto va a transferir, atienda al segundo.
Consejos para aprovecharla mejor
- Las claves JSON deben ir siempre entre comillas dobles. Las comillas simples no son válidas.
- Las comas finales ({"a":1,}) no son válidas según la especificación JSON.
- Los números en notación científica son válidos, pero NaN e Infinity no lo son.
- Las comillas dobles dentro de cadenas deben escaparse como \". Los saltos de línea se representan con \n y las tabulaciones con \t.
- Comprimir el JSON es útil para reducir el tamaño de los archivos. Usa la versión comprimida para transferencias por API y la versión formateada para archivos de configuración.
Dónde ayuda un formateador de JSON
Leer una respuesta de API
Formatee una respuesta que llegó en una sola línea y la profundidad del anidamiento y el número de elementos de cada arreglo pasan a seguirse con la vista. Es con mucho el uso más frecuente, tanto al desarrollar como al perseguir un fallo.
Localizar un error de sintaxis en un archivo de configuración
Cuando una aplicación se niega a cargar su configuración, pegar el archivo y validarlo señala la causa al instante: una coma final, una comilla sin cerrar.
Comprimir para transferir menos
Devolver JSON formateado como respuesta de API o como datos incrustados desperdicia ancho de banda solo en la sangría. Para todo lo que se sirve, use la versión comprimida.
Ordenar ejemplos para documentación o para una incidencia
Deje los ejemplos de petición y de respuesta que van en una especificación o en un informe de error en una forma legible y de sangría pareja.
Preparar la entrada antes de convertirla
Confirmar antes la sintaxis le ahorra errores oscuros del otro lado cuando entregue los datos a JSON a tipos de TypeScript o a JSON a XML.
Términos relacionados con JSON
- JSON
- Siglas de JavaScript Object Notation, el formato de intercambio de datos fijado en el RFC 8259. Se construye con solo seis cosas —objeto, arreglo, cadena, número, booleano y null— y, como cualquier lenguaje puede leerlo y escribirlo, se ha vuelto el formato estándar de las API web.
- Formateo (pretty-print)
- Rehacer el texto con sangrías y saltos de línea que siguen la profundidad del anidamiento, para que una persona pueda leerlo. Los datos no cambian; solo cambia su aspecto.
- Compresión (minify)
- Retirar todo espacio y salto de línea que no aporte significado y dejarlo en una sola línea. El número de bytes baja, así que se transfiere menos, pero deja de estar pensado para el ojo humano.
- Validación
- Comprobar que la entrada sigue la gramática de JSON. Esta herramienta deja el trabajo al analizador del navegador y muestra su mensaje de error al pie de la letra cuando falla.
- Secuencia de escape
- Manera de escribir, con una barra invertida, caracteres que no pueden ir tal cual dentro de una cadena. Las comillas dobles son
\", el salto de línea\n, el tabulador\t. - Orden de las claves
- El propio JSON no fija orden alguno para las claves de un objeto. Como esta herramienta pasa los datos por un objeto de JavaScript, solo se reordenan de forma ascendente las claves que se leen como enteros —
"1","2"y semejantes—. Toda otra clave conserva el lugar en que fue escrita. - UTF-8
- La codificación de caracteres que el RFC 8259 exige para JSON. Los caracteres fuera de ASCII ocupan varios bytes cada uno, de modo que el recuento de caracteres y el de bytes no coinciden.
Preguntas frecuentes
A propósito — Por qué JSON venció a XML
A principios de los años 2000, XML era el formato dominante. En 2001, Douglas Crockford propuso JSON como una alternativa más ligera, manejable y legible, y a partir de la década de 2010 se convirtió en el estándar de facto.
Para los mismos datos, JSON suele ocupar entre un 30 y un 50 % menos de bytes que XML, lo que en la era de las comunicaciones móviles tuvo un impacto directo en la velocidad de respuesta de las aplicaciones.
La RFC 8259 establece que las claves duplicadas son "SHOULD NOT" (no recomendadas), pero no las prohíbe. {"a":1,"a":2} es sintácticamente válido, pero su comportamiento no está definido.