Formateador y conversor JSON

Formatea, valida, compacta y convierte JSON.

El formulario interactivo está listo al activar JavaScript.

Cómo utilizar

Pega JSON y elige una acción. «Formatear» lo sangra con 2 o 4 espacios o con tabulaciones; «Validar» comprueba la sintaxis y muestra el tipo del valor raíz, cuántas claves o elementos contiene en el primer nivel (sin contar los anidados) y el número de caracteres; «Compactar» elimina todos los espacios en blanco innecesarios; «Ver como árbol» muestra los objetos y arrays anidados como un árbol plegable. Con Ctrl+Enter (Cmd+Enter en Mac) en el cuadro de entrada se formatea el JSON.

La validación sigue el estándar JSON (RFC 8259) tal como lo interpreta tu navegador. Los nombres de propiedad y las cadenas necesitan comillas dobles; true, false y null van en minúsculas; no se admiten comas finales, comentarios, comillas simples, NaN ni Infinity. Cuando el análisis falla, el mensaje de error explica por qué y, si el navegador indica una posición (Chrome y Firefox lo hacen en la mayoría de los errores), la línea y la columna en las que se detuvo.

«Formatear» y «Compactar» leen los datos y los vuelven a escribir, así que pueden cambiar algunas cosas además de los espacios en blanco: los números enteros mayores que 9.007.199.254.740.991 pueden perder precisión, los números con más de unas 17 cifras significativas se redondean, los números demasiado grandes para JavaScript (como 1e400) se convierten en null, 1.0 pasa a ser 1 y 1e3 pasa a ser 1000, una clave que aparece dos veces en el mismo objeto conserva solo su último valor, las claves que parecen números enteros (como "1" o "10") pasan al principio de su objeto en orden numérico, y la mayoría de los escapes \u se convierten en los caracteres que representan. Guarda los identificadores largos como cadenas para que se conserven exactos.

«JSON → CSV» convierte un array de objetos en una fila por objeto, con una cabecera formada por todas las claves en el orden en que aparecen por primera vez; tanto los valores que faltan como los null se convierten en celdas vacías, y los objetos o arrays anidados se escriben en la celda como JSON. Un único objeto se convierte en una fila, y un array de valores simples, en una sola columna llamada value. Elige como separador la coma, el punto y coma o la tabulación; las hojas de cálculo de los países que usan la coma decimal suelen esperar el punto y coma.

«JSON → YAML» escribe todos los valores de cadena entre comillas dobles y entrecomilla claves como yes, no, on, off, true, false y null, para que los analizadores de YAML 1.1 no las lean como true, false o null. Todo se ejecuta en tu navegador; no se sube nada.

Ejemplo

Formatea el objeto de ejemplo con sangría. Los valores no cambian; solo cambia la presentación.

  • {"name":"Ana","active":true}Se formatea como un objeto con sangría y dos claves.
  • {"name":"Ana",}JSON no válido por la coma final. Los navegadores que indican una posición señalan la línea 1, columna 15.
  • [{"id":1,"tags":["a","b"]},{"id":2,"name":"Ana"}]CSV con tres columnas: id, tags y name. La celda de tags contiene el array como texto JSON entre comillas, y el name que le falta al primer objeto queda como una celda vacía.
  • {"id":12345678901234567890}Válido, pero al formatear se escribe 12345678901234567000: el número supera la precisión de un número de JavaScript.
  • {"country":"no"}YAML: country: "no", entre comillas para que siga siendo una cadena.

Preguntas frecuentes

¿Formatear cambia mis datos?

Normalmente solo los espacios en blanco. Las excepciones son los números muy grandes o muy precisos, los números escritos como 1.0 o 1e3, las claves duplicadas, las claves que parecen números enteros (que pasan al principio) y los escapes \u, que se reescriben en su forma estándar. Los valores que deben conservarse exactos, como los identificadores largos, deberían ser cadenas.

¿Puedo usar comentarios o comas finales?

En JSON no. JSON5 admite ambos, y JSONC admite comentarios y, en algunos analizadores, comas finales, pero los analizadores de JSON estándar los rechazan. Elimínalos antes de validar.

¿Por qué mi objeto funciona en JavaScript pero aquí falla?

Un literal de objeto de JavaScript acepta claves sin comillas, comillas simples, comas finales y comentarios. JSON no acepta ninguna de estas cosas.

¿Se sube mi JSON a algún sitio?

No. El análisis y la conversión se hacen localmente en tu navegador.

Herramientas relacionadas