Qué hace un formateador JSON
JSON (JavaScript Object Notation) es el formato más común para enviar datos entre programas. Las API suelen devolverlo en una sola línea larga sin espacios, porque los espacios añaden bytes y la máquina no los necesita. Las personas sí. Un formateador JSON añade saltos de línea y sangría para que veas la estructura: qué valores pertenecen a qué objeto, y dónde empieza y termina cada array.
Esta herramienta hace tres trabajos:
- Formatear convierte JSON compacto en JSON legible y con sangría.
- Minificar quita todos los espacios y saltos de línea que no estén dentro de una cadena.
- Validar comprueba el JSON según el estándar e informa del primer problema que encuentra.
Cómo usarlo
- Pega tu JSON en el cuadro de la izquierda. Se formatea en cuanto lo pegas. También puedes pulsar Abrir archivo para cargar un archivo
.json, o Ejemplo para probar con una muestra. - Elige una Sangría: 2 espacios, 4 espacios o tabulaciones.
- Pulsa Formatear, Minificar o Validar. Ctrl+Intro repite la última acción desde el teclado.
- Activa Ordenar claves de la A a la Z si quieres las claves en orden alfabético.
- Pulsa Copiar, o Descargar para guardar el resultado como archivo
.json.
Después de la primera vez, el resultado se actualiza mientras escribes, así que puedes corregir un problema y ver cómo desaparece el error.
Antes y después
Esta es una respuesta de API típica sin espacios:
{"id":42,"name":"Ada Lovelace","active":true,"roles":["admin","editor"],"address":{"city":"London","zip":"NW1"},"score":98.50,"manager":null}
Después de Formatear con 2 espacios:
{
"id": 42,
"name": "Ada Lovelace",
"active": true,
"roles": [
"admin",
"editor"
],
"address": {
"city": "London",
"zip": "NW1"
},
"score": 98.50,
"manager": null
}
Fíjate en que 98.50 sigue siendo 98.50. El formateador lee tu texto con su propio analizador y copia los números carácter por carácter. Un identificador largo como 12345678901234567890 también se mantiene exacto, mientras que una herramienta basada en JSON.parse mostraría 12345678901234567000.
Ten en cuenta que en JSON el separador decimal siempre es el punto. Un valor como 98,50 con coma decimal, habitual al escribir en español, no es un número JSON válido.
Con Ordenar claves de la A a la Z y 4 espacios, {"name":"Ada","age":36,"address":{"zip":"NW1","city":"London"}} pasa a:
{
"address": {
"city": "London",
"zip": "NW1"
},
"age": 36,
"name": "Ada"
}
Validar da un resumen breve cuando la entrada es válida. Para el primer ejemplo indica: “JSON válido. La raíz es un objeto con 12 valores en total y 3 niveles de anidación.”
Mensajes de error que puedes ver
Cuando el JSON está roto, el mensaje bajo los cuadros indica la línea y la columna, y Mostrar en la entrada lleva el cursor a ese punto. Estos son mensajes reales de la herramienta:
| Error | Mensaje |
|---|---|
| Coma después del último elemento | Línea 4, columna 1: No se permite una coma final antes de “}” |
| Comillas simples | Línea 1, columna 2: Se esperaba un nombre de propiedad entre comillas dobles, pero se encontró una comilla simple (las cadenas JSON necesitan comillas dobles) |
| Falta la coma entre elementos | Línea 3, columna 3: Se esperaba “,” o “}” después de un valor, pero se encontró “”” |
| Clave sin comillas | Línea 1, columna 2: Se esperaba un nombre de propiedad entre comillas dobles, pero se encontró “n” |
Un comentario // |
Línea 2, columna 3: JSON no admite comentarios |
Estas reglas vienen del estándar JSON. Los literales de objeto de JavaScript permiten comillas simples, claves sin comillas y comas finales, por eso el código copiado de un archivo .js suele fallar aquí. Si tus datos son realmente JavaScript, el formateador JavaScript es la mejor opción.
Consejos y límites
- Solo JSON estricto.
undefined,NaN, los comentarios y las comas finales se marcan como errores, porque otros programas también los rechazarán. - Las claves duplicadas se mantienen tal como están escritas. El formateador no las fusiona ni las elimina.
- Minificar no toca el contenido de las cadenas, incluidos los espacios que haya dentro. Las tildes y la ñ dentro de las cadenas también se conservan tal cual.
- Para revisar un archivo entero, usa Abrir archivo. Todo se queda en tu dispositivo.
Otras formas de formatear JSON
VS Code. Abre un archivo .json y ejecuta Dar formato al documento desde la paleta de comandos. VS Code usa su formateador de JSON integrado.
Línea de comandos con jq. jq . data.json muestra el JSON formateado, y jq -c . data.json lo muestra compacto. jq también te permite filtrar y transformar datos.
Línea de comandos con Python. python -m json.tool data.json formatea un archivo con 4 espacios. Forma parte de la biblioteca estándar, así que funciona donde esté instalado Python.
En JavaScript. JSON.stringify(JSON.parse(text), null, 2) formatea una cadena, pero pasa por los números de JavaScript, así que los identificadores largos pueden perder dígitos.
Herramientas relacionadas
Para convertir JSON en un archivo de configuración, usa el convertidor de JSON a YAML. Para meter un JSON dentro de una cadena de otro JSON, usa JSON Stringify. Para crear JSON a partir de una exportación de hoja de cálculo, prueba el convertidor de CSV a JSON.