Saltar al contenido

Formateador y validador de JSON

Pega JSON y embellécelo con 2, 4 u 8 espacios, compáctalo en una sola línea o comprueba solo que se puede analizar. El JSON válido se devuelve con colores y el tamaño antes y después; el JSON no válido se devuelve con el mensaje de error de tu propio navegador. Gratis, sin registro, y nada de lo que pegas sale de tu navegador.

0 líneas · 0 bytes

Cómo usar el formateador de JSON

  1. 1. Pega tu JSON. Desde un único valor hasta una respuesta de API de gran tamaño. El cuadro cuenta líneas y bytes mientras escribes.
  2. 2. Elige una sangría. Elige 2, 4 u 8 espacios. El ajuste solo afecta a Formatear.
  3. 3. Elige una acción. Formatear embellece el texto, Minificar elimina todos los espacios y saltos de línea opcionales, y Solo validar comprueba la sintaxis y muestra un veredicto verde o rojo sin generar salida.
  4. 4. Lee el resultado. El JSON válido se muestra en colores (claves en morado, cadenas en verde, números en azul, true y false en naranja, null en rojo) con el tamaño de entrada, el tamaño de salida y el porcentaje de cambio. El JSON no válido muestra el mensaje del analizador en su lugar. Copiar salida copia lo que ves.

Qué es un JSON válido

La herramienta pasa tu texto al analizador JSON estricto del motor de JavaScript, así que acepta lo que dice el estándar del formato, RFC 8259 (la misma gramática que ECMA-404), y nada más. Es más estricto que un objeto literal de JavaScript, por eso el código que funciona en un script suele fallar aquí. Los errores habituales son:

Motivos habituales por los que JSON no se analiza
ErrorEjemploSolución
Coma final{"a": 1,}Elimina la última coma.
Comillas simples{'a': 1}Usa comillas dobles para cada clave y cada cadena.
Clave sin comillas{a: 1}Ponle comillas: {"a": 1}.
Comentario// nota o /* nota */JSON no tiene comentarios; elimínalos.
Cero inicial o signo más007, +5Escribe 7 y 5.
NaN, Infinity o undefined{"x": NaN}Ninguno existe en JSON; usa null o una cadena.
Salto de línea dentro de una cadenaun salto de línea entre comillasEscríbelo como los dos caracteres \n.
Coma que falta{"a": 1 "b": 2}Separa los miembros con comas.

Un 42, "texto" o null solos también son válidos: desde RFC 7159 un texto JSON puede ser cualquier valor, no solo un objeto o un array. True o NULL con mayúscula inicial no lo son: los tres literales van en minúsculas.

Qué cambia al dar formato

Esta herramienta analiza tu JSON y lo vuelve a escribir, así que el resultado son los mismos datos con otro diseño, no una copia carácter por carácter de tu texto. Pueden cambiar cuatro cosas; las dos primeras importan si formateas JSON que alimenta otro sistema:

  • Los enteros grandes pierden precisión. Los números de JavaScript son flotantes de 64 bits, así que los enteros por encima de 9.007.199.254.740.991 (253 − 1) se redondean. 9007199254740993 vuelve como 9007199254740992. Si tus IDs son así de grandes, guárdalos como cadenas.
  • Las claves duplicadas se fusionan. RFC 8259 dice que los nombres deberían ser únicos, pero no prohíbe repetirlos; esta herramienta conserva el último valor y descarta los anteriores.
  • Las claves con forma de entero se mueven primero. En JavaScript, claves como "1" y "2" se listan antes que las demás en orden ascendente, así que {"b":1,"2":1,"1":1} se escribe como {"1":1,"2":1,"b":1}. Las demás claves conservan tu orden.
  • Los números y los escapes se reescriben. 1.50 pasa a 1.5, 1e2 pasa a 100 y \u00e9 pasa a é.

Ejemplo desarrollado

Toma esta entrada de 119 bytes, que incluye un ID grande, un cero final, un exponente y un escape:

Entrada

{"title":"APA Manual","year":2020,"tags":["style","7th"],"id":9007199254740993,"price":1.50,"x":1e2,"name":"caf\u00e9"}

Formatear con 2 espacios escribe 156 bytes (+31 %), un miembro por línea, con "id": 9007199254740992, "price": 1.5, "x": 100 y "name": "café". Minificar escribe 114 bytes (-4 %) en una sola línea, con los mismos cambios. Nada más de los datos cambia. Los tamaños son bytes UTF-8, así que la é cuenta como dos.

¿Qué herramienta necesitas?

Esta página es para el propio JSON. Si tus datos están en otro formato, hay una herramienta hermana: CSV a JSON para hojas de cálculo, los convertidores YAML a JSON y XML a JSON (previstos), Formateador XML para documentos XML y Formateador HTML para marcado.

Preguntas frecuentes

¿Qué hace un formateador de JSON?
Analiza el JSON y lo vuelve a escribir con una sangría coherente y un miembro por línea, así que una respuesta de API minificada se vuelve legible. Como primero tiene que analizarlo, también sirve de validador: el texto que no es JSON válido produce un error en lugar de una salida.
¿Por qué dice mi JSON que no es válido?
Normalmente por uno de los errores de la tabla de arriba: una coma final, comillas simples, una clave sin comillas, un comentario o una coma que falta. El mensaje lo genera el analizador JSON de tu propio navegador, así que su redacción cambia entre Chrome, Firefox y Safari, y puede o no indicar una posición; busca el problema en el punto que señala o justo antes.
¿Puedo formatear JSON con comentarios, JSON5 o JSONC?
No. Los comentarios, las comas finales y las comillas simples no forman parte de JSON, y esta herramienta usa un analizador estricto. Elimínalos antes o convierte el archivo a JSON sin más en tu editor.
¿Cuál es la diferencia entre Formatear, Minificar y Solo validar?
Formatear añade sangría y saltos de línea, Minificar elimina todo el espacio en blanco opcional para obtener el texto más pequeño, y Solo validar comprueba la sintaxis y muestra un veredicto sin salida. Los tres usan el mismo analizador, así que un documento que pasa uno pasa todos.
¿Por qué cambió un número de mi JSON?
La herramienta lee los números como flotantes de JavaScript y los vuelve a escribir en la forma más corta de JavaScript. Eso convierte 1.50 en 1.5 y 1e2 en 100, y redondea los enteros mayores que 253 − 1. Guarda los identificadores muy grandes como cadenas si deben conservarse exactos.
¿Se sube mi JSON a algún sitio?
No. El análisis, el formateo y el resaltado se ejecutan en tu navegador, y el texto que pegas no se envía a CitationEasy ni a nadie más. Borra el cuadro al terminar en un ordenador compartido.
¿Puedo ordenar las claves o usar tabuladores para la sangría?
Aquí no. Las opciones de sangría son 2, 4 u 8 espacios, y las claves conservan el orden de tu entrada, salvo las claves con forma de entero, que se mueven primero como se explicó antes.

Herramientas relacionadas

Más en Datos, marcado y código