Informática
Formateador y validador JSON
Pega el JSON: si es válido lo obtienes formateado o minificado, con las claves en orden alfabético si quieres y algunas estadísticas; si no lo es, la calculadora indica la línea y la columna del error.
JSON válido y legible
JSON es el formato con el que la mayoría de las API web intercambian datos: objetos entre llaves con claves entre comillas dobles, arrays entre corchetes, cadenas, números, true, false y null. Las API suelen devolverlo minificado en una sola línea: formatearlo con sangría lo hace legible, minificarlo quita los espacios y ahorra bytes.
La sintaxis es más estricta que la de JavaScript: sin comas finales tras el último elemento, sin comentarios, sin comillas simples y con las claves siempre entre comillas dobles. Son los errores más comunes al escribir JSON a mano, y el analizador los señala con la posición exacta.
Ordenar las claves alfabéticamente no cambia el significado, porque en un objeto JSON el orden de las claves no importa, pero hace mucho más fácil comparar dos respuestas o dos archivos de configuración con un diff.
Errores frecuentes
- Dejar una coma tras el último elemento de un objeto o array: JSON no la acepta.
- Usar comillas simples o claves sin comillas, como en JavaScript: JSON exige comillas dobles.
- Escribir NaN, Infinity o undefined: no son valores JSON; se usa null.
Preguntas frecuentes
¿El JSON que pego se envía a un servidor?
No: el formateo y la validación se hacen en el navegador con JSON.parse. Solo los JSON cortos pasan a la dirección de la página, para poder compartirla.
¿Por qué cambian los números muy grandes?
JSON.parse usa los números de coma flotante de JavaScript, exactos hasta 2⁵³: un ID como 12345678901234567890 se redondea. Las API con ID grandes suelen enviarlos como cadenas.
¿Qué diferencia hay entre JSON y JSON5?
JSON5 es una extensión que admite comentarios, comas finales y comillas simples; útil para archivos de configuración, pero no es JSON estándar y JSON.parse lo rechaza.
Cómo funciona este cálculo
El texto se lee con JSON.parse, que aplica la gramática de RFC 8259; si hay un error, la posición que da el navegador se convierte en línea y columna. El resultado se reescribe con JSON.stringify, con 2 o 4 espacios o una tabulación por nivel, o sin espacios. Al ordenar, las claves de cada objeto se ordenan recursivamente por código Unicode. Los tamaños son en bytes UTF-8.
Cálculos relacionados
Probador de expresiones regulares
Prueba una regex sobre un texto: coincidencias resaltadas, grupos de captura y sustitución, en JavaScript.
Codificador de URL
Codificación y decodificación por porcentaje de valores y direcciones, y una URL descompuesta en sus partes.
Conversor Base64
De texto, entero, hexadecimal o binario a Base64 y viceversa, con los grupos de 6 bits explicados.
Expresiones cron explicadas
Traduce una expresión cron a palabras y mira las próximas ejecuciones, campo por campo.