Cómo usar el formateador JSON
- Pega tu JSON bruto o minificado en el campo de entrada a la izquierda.
- Haz clic en Formatear para embellecer con indentación de 2 espacios, o Minificar para comprimirlo en una línea.
- Haz clic en Validar para comprobar la sintaxis sin modificar el JSON.
- Haz clic en Copiar para copiar la salida al portapapeles.
Formatear, minificar o validar: ¿cuál es la diferencia?
Formatear (también llamado embellecimiento o pretty-printing) añade indentación y saltos de línea consistentes. Los datos no cambian, solo el espacio en blanco. El resultado es un JSON legible, fácil de navegar y depurar.
Minificar elimina todos los espacios innecesarios: espacios, tabulaciones y saltos de línea. Un JSON minificado es más pequeño y más rápido de transmitir. Las respuestas de API suelen estar minificadas por este motivo.
Validar comprueba si el JSON es sintácticamente correcto según la especificación RFC 8259. Un mensaje de error señala la posición exacta del problema para que puedas corregirlo rápidamente.
Errores JSON más comunes
- Coma final:
{"a":1,}no es JSON válido. Elimina la última coma. - Claves sin comillas:
{a:1}no es JSON. Las claves deben ir entre comillas dobles:{"a":1}. - Comillas simples: JSON exige comillas dobles para las cadenas. Las simples no están permitidas.
- Comentarios: JSON no tiene sintaxis de comentarios. Elimina cualquier
//o/* */antes de validar. - NaN / Infinity: Estos valores de JavaScript no son JSON válido. Usa
nullen su lugar.
¿Cuándo usar cada acción?
- Usa Formatear al leer una respuesta de API, revisar un archivo de configuración o depurar datos.
- Usa Minificar antes de incrustar JSON en código fuente o enviarlo por red.
- Usa Validar cuando una API rechace tu solicitud o un analizador lance un error inesperado.
Privacidad
Todo el procesamiento ocurre en tu navegador. Tu JSON nunca sale de tu dispositivo, no se envía, almacena ni registra nada.
JSON no es JavaScript, tipos que no existen en JSON
JSON es un subconjunto estricto de la sintaxis JavaScript pero no soporta varios tipos de JavaScript que los desarrolladores intentan incluir habitualmente:
- Fechas: JSON no tiene tipo fecha. La convención son strings ISO 8601 (
"2024-06-05T12:00:00Z"), pero ese formato no forma parte del estándar JSON. Distintas APIs y bibliotecas parsean fechas de forma diferente. - Infinity y NaN: Estos valores numéricos de JavaScript no son JSON válido. Reemplázalos por
nullantes de serializar. - undefined: Las claves de objeto con valor
undefinedson omitidas silenciosamente porJSON.stringify, fuente frecuente de bugs de campos ausentes. - Comentarios: El JSON estándar (RFC 8259) no admite comentarios. Para comentarios usa JSON5 o JSONC (usado por los ajustes de VS Code). Ninguno es JSON válido.
- Comas finales: Permitidas en JavaScript, inválidas en JSON. Algunas APIs rechazan el payload sin notificación.
Precisión de números grandes
Los números JSON no tienen tipo, pero la mayoría de parsers usan flotantes IEEE 754 de 64 bits. Los enteros mayores de 253 - 1 (9.007.199.254.740.991) pierden precisión al parsearse con JSON.parse en JavaScript. Las bases de datos suelen devolver IDs como enteros grandes, causando corrupción silenciosa de datos en el navegador. La solución es transmitirlos como strings y parsearlos con una biblioteca compatible con BigInt.