Saltar al contenido

{ } · 2 / 4 / tab · minify

Formateador y validador JSON

Un formateador JSON añade sangría a un JSON compacto: un documento de 60 bytes pasa a 86 bytes con 2 espacios y a 102 bytes con 4. Pega JSON para obtener el texto formateado o minificado, o la línea y la columna del primer error.

Todo se ejecuta en esta pestaña y no se sube nada. El analizador sigue la RFC 8259, así que los comentarios, las comillas simples, las comas finales y las claves sin comillas se informan como errores.

Scanned by NortonTM Safe Web

De un vistazo

Precio
Sin coste
Cuenta
No hace falta
Estándar
RFC 8259 (JSON)
Límites
5 MB de entrada, 512 niveles de anidamiento
Salida
2 espacios, 4 espacios, tabulador o minificado, con claves ordenadas si se desea
Subida
Ninguna: el texto se queda en la pestaña de tu navegador

Errores de JSON y precisión de los números

Estas cifras proceden del analizador que usa esta página. Las líneas y las columnas se cuentan desde 1.

Primer error encontrado en un documento roto
DocumentoCódigo del motivoLínea:columna
{"a": 1,}trailing_comma1:8
{'a': 1}single_quotes1:2
[1, 2unexpected_end1:6
{"a": 01}bad_number1:8
{"a": "x\q"}bad_escape1:9
{"a": 1 "b": 2}missing_comma1:9
Números que JSON.parse redondea
Número tal como está escritoValor que devuelve JSON.parse
1234567890123456789012345678901234567000
90071992547409939007199254740992
1.00000000000000011
1E400Infinity

Cómo formatear JSON

1

Pega tu JSON

Escribe o pega un documento JSON de hasta 5 MB en el cuadro de entrada. Ya hay un ejemplo para que veas primero el resultado.

2

Elige la salida

Elige 2 espacios, 4 espacios, un tabulador o la forma minificada. Marca la casilla para ordenar las claves de cada objeto por unidades de código.

3

Cópialo o corrígelo

Copia o descarga el resultado. Si el JSON está roto, el mensaje indica la línea, la columna y el motivo, y un signo ^ señala el punto en la línea que falla.

Cómo funciona el formateador JSON

La página lee tu texto con su propio analizador de la gramática JSON de la RFC 8259 y luego lo vuelve a escribir con la sangría que hayas elegido. Como el analizador forma parte de la página, todos los navegadores muestran el mismo mensaje para el mismo error. El JSON.parse integrado redacta sus errores de forma distinta en Chrome, Firefox y Safari, y no todos señalan una línea y una columna.

Los números y los escapes de las cadenas se copian exactamente como los escribiste. JSON.parse convierte 12345678901234567890 en 12345678901234567000, porque un número de JavaScript es un decimal de 64 bits con unas 15 a 17 cifras significativas. Esta página conserva las 20 cifras y avisa cuando un número se redondearía. La RFC 8259 dice que los nombres de un objeto deberían ser únicos, así que las claves duplicadas se conservan y se informan. Los límites son 5 MB de entrada y 512 niveles de anidamiento.

Preguntas sobre el formateador JSON

¿Cómo formateo JSON en línea?

Pega el JSON en el cuadro de entrada. El texto formateado aparece al instante, con 2 espacios, 4 espacios o un tabulador por nivel. El ejemplo de 60 bytes pasa a 86 bytes con 2 espacios y a 102 bytes con 4 espacios.

¿Qué significa "unexpected token" y dónde está mi error?

Significa que el analizador encontró un carácter que la gramática JSON no permite en ese punto. Esta página indica el motivo, la línea y la columna. Para {"a": 1,} informa trailing_comma en la línea 1, columna 8.

¿Por qué una coma final es un error en JSON?

La gramática de la RFC 8259 exige un valor después de cada coma, así que [1, 2,] y {"a": 1,} no son válidos. Los literales de objeto de JavaScript aceptan una coma final, pero JSON no. Borra la última coma.

¿Puede JSON contener comentarios o comillas simples?

No. La RFC 8259 no tiene comentarios, y las cadenas y las claves usan solo comillas dobles. Formatos como JSON5 y JSONC admiten ambas cosas, pero son formatos distintos, y esta página los informa como errores.

¿El formateador cambia mis números?

No. Los números y los escapes se escriben exactamente como se tecleó. JSON.parse redondearía 12345678901234567890 a 12345678901234567000, pero esta página conserva todas las cifras, así que formatear no pierde nada.

¿Mi JSON se sube a algún sitio?

No. La página se ejecuta en la pestaña de tu navegador y no envía nada a ningún servidor. Una vez cargada, también funciona sin conexión. El límite de entrada es de 5 MB.