Formateador y validador de JSON
Dar formato legible al JSON, minificarlo y ver dónde se rompe un archivo inválido
Sus datos se quedan con usted. La conversión ocurre dentro del navegador; no se envía nada a ningún servidor.
¿Le sirvió esta herramienta?
Gracias, su comentario llegó.
Cómo funciona
Pegue JSON en el panel de la izquierda y la versión con formato aparece de inmediato a la derecha. La presentación fija la sangría: 2 espacios es lo predeterminado en la mayoría de lenguajes y editores, 4 espacios facilitan seguir los niveles con la vista en datos muy anidados, y la opción minificada elimina cada espacio y cada salto de renglón hasta dejarlo todo en un solo renglón. El orden alfabético de las claves no se queda en el primer nivel: baja a todos los objetos anidados, incluidos los que están dentro de una lista, y eso es lo que vuelve comparables dos versiones de un archivo que solo se diferencian en el orden de sus campos. Si el texto no es JSON válido no se produce ninguna salida: en su lugar se le indica el renglón y la columna donde el problema se hizo visible. La línea de resultado cuenta cuántos renglones entraron y cuántos salieron, así que el efecto de desplegar o minificar se ve de un vistazo. La salida se copia o se descarga como archivo .json, y el texto que pega nunca sale de su navegador.
Esta herramienta también se busca como formatear json, validador json, json legible en linea, embellecer json, minificar json.
¿Qué es JSON?
La gramática de JSON es más estricta de lo que parece. Las claves deben ir entre comillas dobles, una coma no puede seguir al último elemento, los comentarios están prohibidos, el signo decimal es siempre un punto y los únicos valores admitidos son objetos, listas, cadenas, números, true, false y null. Esa rigidez es una decisión de diseño y no un descuido: con tan pocas reglas, todos los lenguajes leen el mismo texto de la misma manera. Ahora bien, la validez es solo cuestión de gramática: un documento que se analiza sin fallos puede contener datos completamente equivocados.
¿Qué es sangría?
La sangría desplaza hacia dentro cada nivel de una estructura anidada un número fijo de espacios, de modo que la jerarquía se aprecie de un vistazo. En JSON no tiene efecto alguno sobre los datos: el mismo contenido escrito con dos espacios, con cuatro o sin ninguno se analiza exactamente en los mismos valores. La sangría existe para la persona que lee el archivo, y por eso desplegar un documento mientras se revisa y minificarlo antes de pegarlo en otro sitio no es ninguna contradicción.
¿Qué diferencia hay entre formatear y minificar?
Ambos conservan los mismos datos y solo cambian su apariencia. Formatear añade saltos de renglón y sangría para hacer legible la estructura, que es lo que necesita al revisar un archivo, buscar un fallo o enseñárselo a otra persona. Minificar elimina cada espacio innecesario y deja el texto en un solo renglón, lo que reduce el número de caracteres y encaja en un campo que solo acepta un renglón. Ninguna de las dos direcciones pierde estructura: un documento minificado se vuelve a desplegar en los mismos valores, porque los espacios entre elementos no significan nada para un analizador. Solo puede moverse la forma en que quedan escritos los números, ya que el texto se analiza y se vuelve a escribir en lugar de limitarse a reordenarse.
Cómo se lee el renglón y la columna del error
Un analizador de JSON avisa del fallo en el primer carácter que incumple una regla, y ese casi nunca es el punto donde se cometió el error. Unas comillas que quedaron abiertas, por ejemplo, solo se detectan al principio del renglón siguiente, porque hasta ahí todo seguía siendo contenido de cadena perfectamente legal.
Por eso, cuando el renglón indicado parece inocente, lea el anterior. Los culpables habituales son cortos y repetitivos:
- Una coma después del último elemento: JSON no la permite
- Claves sin comillas, o con comillas simples en lugar de dobles
- Un cero delante de un número, o una coma como signo decimal cuando debe ser un punto
- Un corchete o una llave que quedaron abiertos por copiar y pegar a medias
¿Qué sangría conviene elegir?
Despliegue cuando vaya a leer el JSON una persona: una revisión, una captura de pantalla, un archivo adjunto a un informe de incidencia. Dos espacios mantienen los renglones cortos; cuatro dejan claro qué campo pertenece a qué objeto en cuanto el anidamiento se vuelve profundo.
Minifique cuando quien lee es una máquina: un campo de configuración, una variable de entorno, una columna de base de datos o un formulario que solo acepta un renglón. Ahí los espacios no llevan ningún dato, únicamente ocupan sitio.
Lo que un viaje de ida y vuelta no conserva
Dar formato conserva sus datos, pero no le devuelve el archivo octeto por octeto. El texto se analiza hasta convertirlo en valores reales y luego se vuelve a escribir: 1.0 regresa como 1, 1e3 regresa como 1000 y un entero de más de unos dieciséis dígitos regresa redondeado. Es una propiedad de cómo se guardan los números en memoria y afecta a cualquier herramienta de JSON construida sobre un analizador estándar, no solo a esta.
Las claves repetidas son el otro caso que conviene conocer. JSON permite que el mismo nombre aparezca dos veces dentro de un objeto, y los analizadores se quedan con la última aparición, así que el valor anterior desaparece de la salida sin ningún aviso. Si está dando formato a un archivo donde eso podría importar —una configuración resultante de una fusión, por ejemplo—, cuente las claves antes de reemplazar el original.
¿Sobreviven las tildes y la eñe?
Sí, y sin ninguna transformación. Un texto en español atraviesa el formateo tal cual: la á sigue siendo á, la ñ sigue siendo ñ y los signos de apertura se mantienen donde estaban. El formateo solo toca los espacios entre elementos, jamás el contenido de las cadenas.
Si las tildes le llegan ya estropeadas al panel de la izquierda, la causa está más arriba: el archivo se leyó con la codificación equivocada antes de pegarlo aquí. Vuelva a abrir el origen en UTF-8 en lugar de corregir el resultado a mano.
Un detalle que sorprende: algunas exportaciones escriben las vocales acentuadas como \u00e1 en vez de á. No es un error, es otra manera perfectamente válida de escribir el mismo carácter, y cualquier programa lee las dos formas igual. Esta herramienta no convierte de una a otra; devuelve lo que recibió.
Preguntas frecuentes
¿Cómo hago legible un JSON?
Pegue el texto en el panel de la izquierda y elija una sangría; la versión con formato aparece a la derecha mientras escribe, lista para copiar o para guardar como archivo .json.
¿Cómo sé si mi JSON es válido?
Si aparece salida, el texto es JSON válido. Si no lo es, en lugar de la salida verá un mensaje que nombra el renglón y la columna donde se manifiesta el problema.
¿Para qué sirve ordenar las claves?
Para comparar dos archivos. Dos exportaciones que solo se diferencian en el orden de los campos parecen completamente distintas en una comparación; ordene ambas y en pantalla solo quedarán las diferencias reales.
¿Dar formato cambia mis datos?
Los valores siguen iguales; solo cambian los espacios y, si lo pide, el orden de las claves. Lo único que hay que vigilar es cómo quedan escritos los números: cualquier analizador reescribe 1.0 como 1 y redondea los enteros de más de unos dieciséis dígitos.
¿Para qué sirve el JSON minificado?
Los espacios y los saltos de renglón no significan nada para un analizador de JSON, solo ocupan sitio. La versión en un solo renglón es la que necesita para un campo de configuración, una variable de entorno o cualquier formulario que acepte un único renglón.