Cómo formatear JSON con esta herramienta
Para formatear JSON, pega el texto en el cuadro de entrada, ya sea la respuesta de una API, una línea de un log o un archivo de configuración. Luego elige qué hacer. Formatear vuelve a indentar los datos con 2 o 4 espacios por nivel y coloca cada clave en su propia línea, de modo que la estructura se entiende de un vistazo. Minificar hace lo contrario: quita todo el espacio sobrante, algo útil cuando necesitas meter el JSON en una URL, una variable de entorno o el cuerpo de una petición.
Cuando el resultado te convenza, usa el botón de copiar para llevarlo al portapapeles. Todo se procesa dentro de la pestaña del navegador, por lo que puedes formatear JSON con credenciales, direcciones internas o datos personales sin subirlos a un servicio de terceros.
Cómo funciona
Primero, la herramienta lee tu texto con el analizador JSON integrado en el navegador, el mismo validador estricto que usa JSON.parse en JavaScript. Si la lectura es correcta, imprime los datos de nuevo con la indentación elegida, o sin ninguna al minificar. Como la salida se genera a partir de los datos interpretados y no moviendo caracteres, el resultado siempre es JSON válido.
Si la lectura falla, verás la línea y la columna donde el analizador se detuvo. Esa posición suele estar justo después del error real, así que revisa también el final de la línea anterior.
Un ejemplo rápido, primero minificado y luego con 2 espacios:
{"pedido":"MX-5531","envio":{"ciudad":"Guadalajara","dias":3}}
{
"pedido": "MX-5531",
"envio": {
"ciudad": "Guadalajara",
"dias": 3
}
}
Errores frecuentes y cómo corregirlos
- Coma final.
[1, 2, 3,]funciona en JavaScript moderno, pero no en JSON. Borra la coma después del último elemento de cada arreglo y objeto. - Comillas simples. Claves y cadenas van con comillas dobles:
"nombre", no'nombre'. - Claves sin comillas.
{precio: 250}debe escribirse{"precio": 250}. - Comentarios. No se permiten
//ni/* */. Si necesitas notas en un archivo de configuración, usa JSONC o YAML, o guarda la nota como un campo de texto normal. - Valores especiales.
undefined,NaNeInfinityno existen en JSON; reemplázalos pornullo por un número.
Un detalle más: como los números se leen como números de JavaScript, los enteros mayores que 9.007.199.254.740.991 pueden perder precisión al reformatearse. Si manejas identificadores muy largos, guárdalos como cadenas.