Formateador y validador de JSON
Formatea, minifica y valida JSON, con la línea y la columna exactas de cada error de sintaxis y los números grandes tal como están escritos.
- Nivel superior
- Claves
- Profundidad máxima
- Tamaño
Fija aquí tus herramientas. Se guardan en este navegador.
Fija una herramienta y su pegatina aparece aquí.
Formatea, minifica y valida JSON, con la línea y la columna exactas de cada error de sintaxis y los números grandes tal como están escritos.
JSON está definido por la RFC 8259 y por ECMA-404. Un documento es un único valor: un objeto, un array, una cadena, un número, true, false o null. Las cadenas y las claves de los objetos se escriben entre comillas dobles, y no existe ninguna sintaxis para comentarios.
Muchos documentos rotos contienen algo que un literal de objeto de JavaScript admite y JSON no: una coma después del último elemento, comillas simples, una clave sin comillas o un comentario. Con Corregir errores comunes activado, esta herramienta lee todo eso, además de saltos de línea y tabuladores sin escapar dentro de las cadenas, una barra invertida delante de una comilla simple y los True, False y None de Python, te dice qué ha cambiado y escribe JSON estricto.
Cada navegador redacta de forma distinta los errores de JSON.parse, y algunos no dicen dónde están. Esta herramienta lee el texto con su propio parser, así que el mensaje, la línea y la columna son los mismos en todas partes. Ir al error selecciona el carácter problemático en la entrada; cuando pegas un documento entero, la herramienta lo hace sola.
La posición indicada es donde el parser no pudo continuar, que puede estar un poco después del error real. Una coma que falta, por ejemplo, se señala en el primer carácter del elemento siguiente.
La gramática de JSON no limita el tamaño de un número, pero JSON.parse en JavaScript convierte cada número en un float de 64 bits, que solo representa con exactitud todos los enteros hasta 2 elevado a 53 (9 007 199 254 740 992). Un identificador más grande, como 12345678901234567890, sale de JSON.parse como 12345678901234567000. Este formateador copia el texto de cada número en lugar de convertirlo, así que los enteros largos, 1.0 y 1e5 salen exactamente como entraron, y te avisa cuando un entero no sobreviviría a un parser de JavaScript.
La RFC 8259 dice que las claves de un objeto deberían ser únicas y que el comportamiento del software que recibe una clave duplicada es impredecible. Muchos parsers se quedan con el último valor sin avisar. El formateador conserva todas las entradas y te dice dónde está el primer duplicado.
Ordenar claves ordena las claves de todos los objetos, en todos los niveles, por unidad de código UTF-16, que es el orden de la ordenación predeterminada de JavaScript: primero los dígitos, luego las mayúsculas y después las minúsculas. Los arrays conservan su orden. El tamaño se cuenta en bytes UTF-8.
No. El texto se analiza y se formatea con JavaScript en la pestaña de tu navegador, y la herramienta no hace ninguna petición de red con lo que pegas.
La gramática de la RFC 8259 no tiene sintaxis para comentarios y exige un valor después de cada coma, así que un parser estándar rechaza ambas cosas. JSON5 es un formato distinto que sí los admite. Activa la opción de corrección para leer un archivo así y obtener JSON estricto.
Formatear pone cada elemento en su propia línea y le aplica sangría, lo que hace legible la estructura. Minificar quita los espacios en blanco entre los elementos, lo que hace que el documento ocupe menos al guardarlo y al enviarlo. Los datos son los mismos en ambas formas.
No para un programa que siga la especificación, que describe un objeto como una colección no ordenada de pares de nombre y valor. Ordenar ayuda cuando comparas dos documentos línea a línea. Los arrays sí tienen orden, así que sus elementos nunca se mueven.
Se abre en su propia ventana y sigue funcionando sin conexión.
Para instalarla, toca el botón Compartir y luego «Añadir a pantalla de inicio».