Formateador JSON & Validador (Online)

Formateador JSON & Validador (Online)

Formatea, valida, embellece y repara JSON dañado al instante. Corrige errores de sintaxis, añade comillas a claves, minifica e inspecciona nodos del árbol AST sin enviar datos al servidor.

Ajustes predefinidos:
Parámetros y datos de entradaAST reparado
{
  "timestamp": 1729482000,
  "service": "auth-proxy",
  "is_authenticated": true,
  "mfa_verified": false,
  "session_metadata": null,
  "scopes": [
    "read:profile",
    "write:orders"
  ],
  "retry_count": 0
}

Distribución de tipos AST

10 Nodos totales
Indicador de cuota de destino215 BLímite de cuota: 256 KB
Distribución por niveles de profundidad (L1 ~ L6+)L11L27L32L4L56+Profundidad máxima: 3 niveles
Distribución de tipos AST
10
Objetos: 1
Matrices: 1
Cadenas: 3
Números: 2
Booleanos: 2
Nulos (null): 1
Métrica principal
AST reparado
BOM UTF-8 eliminado • LF normalizado
Eficiencia / Capacidad
-2.7%
221 B → 215 B
Salida neta
10 Nodos totales • D:3
1 Objetos • 1 Matrices
Referencia técnica y guía de arquitectura

Formateador JSON & Validador Online — Guía de referencia

Formatee, embellezca, valide y repare JSON online al instante. Corrija errores de sintaxis, solucione claves sin comillas, minifique y explore nodos en árbol con ejecución 100% en el cliente y cero transferencias al servidor.

Formateador JSON & Validador Online — Guía de referencia — Arquitectura en memoria del lado del cliente y flujo de datos
Formateador JSON & Validador Online — Guía de referencia — Arquitectura en memoria del lado del cliente y flujo de datos

Parámetros clave y controles

Espacios de sangría (indent_spaces)integer | string

Controla el ancho visual de sangría por cada nivel de bloque anidado. Los estándares del sector contemplan 2 espacios (guías de estilo de Google y Airbnb), 4 espacios (normas PEP 8 y formato de Java) o caracteres de tabulación (Tab) para una alineación monoespaciada compacta.

Por defecto: 2
Tolerancia del estilo de comillasstring

Regula la validación de comillas en cadenas conforme a la Sección 7 de la RFC 8259. El modo estricto (strict) exige comillas dobles ("); el modo tolerante (tolerant) admite comillas simples (') o claves de identificación sin comillas y las normaliza al estándar.

Por defecto: strict
Política de comas finales (trailing commas)string

Determina cómo se procesan los delimitadores sobrantes al final de objetos o arrays. La especificación RFC 8259 prohíbe terminantemente las comas finales, mientras que ECMAScript 5.1 y JSON5 las admiten para generar diferencias de control de versiones (Git diffs) limpias.

Por defecto: strip
Ordenación de claves de objetoboolean | string

Especifica la ordenación de las propiedades del objeto. La ordenación lexicográfica (A-Z) proporciona una serialización determinista indispensable para el hash de firmas criptográficas (RFC 8785 JSON Canonicalization Scheme / JCS) y la comparación de diferencias.

Por defecto: preserve
Protección de precisión para BigInt y 64-bitboolean

Aplica una comprobación estricta de límites numéricos seguros frente a las restricciones de doble precisión IEEE 754 (Number.MAX_SAFE_INTEGER: 9.007.199.254.740.991 o 2^53 - 1). Los valores que superan este umbral se marcan o aíslan para evitar redondeos inadvertidos y pérdida de dígitos.

Por defecto: true
Tratamiento de secuencias de escape Unicodestring

Configura la representación de caracteres no ASCII. Determina si los puntos de código fuera del rango ASCII (U+0080 en adelante) se conservan como literales UTF-8 nativos o se convierten en secuencias de escape \uXXXX de 6 caracteres.

Por defecto: utf-8

Consejos profesionales y mejores prácticas

Truncamiento de punto flotante IEEE 754 en identificadores de 64 bits

El método nativo JSON.parse() deserializa los valores numéricos como números de punto flotante de 64 bits IEEE 754 con 53 bits de mantisa. Cualquier entero que supere 9.007.199.254.740.991 (2^53 - 1), tales como los Snowflake IDs de Discord o X/Twitter y marcas de tiempo en nanosegundos, sufrirá un redondeo silencioso en sus dígitos menos significativos. Conserve siempre los identificadores numéricos de gran magnitud como cadenas entrecomilladas en sus cargas útiles JSON.

Invalidación de hashes criptográficos por claves de objeto no ordenadas

La especificación RFC 8259 estipula explícitamente que el orden de las propiedades en un objeto JSON carece de significado semántico. Si calcula un hash SHA-256 o una firma HMAC directamente sobre una cadena JSON sin ordenar las claves previamente, estructuras de datos idénticas con secuencias de inserción distintas generarán sumas de comprobación incompatibles. Utilice una ordenación canónica determinista según RFC 8785 (JCS) antes de computar cualquier resumen criptográfico.

Trampas de marcas de orden de bytes (BOM) invisibles y espacios de ancho cero

Los archivos guardados con codificación UTF-8 BOM incorporan una secuencia de bytes invisible (\uFEFF) en la posición 0. Los analizadores JSON estándar rechazan este carácter con el críptico error 'Unexpected token at position 0', a pesar de que el JSON parezca visualmente impecable. Un formateador en producción debe purgar el BOM inicial y los espacios de ancho cero (\u200B) durante la fase de preanálisis sintáctico.

Trampas de estructuras circulares en grafos de objetos anidados

Invocar JSON.stringify() en estructuras de datos con punteros autorreferenciales desencadena la excepción irrecuperable 'TypeError: Converting circular structure to JSON'. Al formatear árboles o estados complejos de aplicaciones, implemente un algoritmo de reemplazo basado en WeakSet para detectar referencias cíclicas y sustituir los nodos recurrentes por marcadores explicativos como '[Circular Reference]'.

Problemas comunes y soluciones

⚠️SyntaxError: Unexpected token ' in JSON at position X (Error por comillas simples)

La Sección 7 de la RFC 8259 exige de forma estricta el uso de comillas dobles (") tanto en cadenas literales como en claves de objeto; las comillas simples constituyen una sintaxis inválida en JSON. Utilice la función de reparación automática de JSON dañado para transformar cadenas con comillas simples y claves desnudas en sintaxis conforme al estándar RFC con comillas dobles.

⚠️SyntaxError: Unexpected token , in JSON at position X (Coma final o trailing comma)

Las comas finales situadas antes de cerrar corchetes ] o llaves } infringen la especificación estricta de JSON, provocando la detención inmediata del parser. Active el modo permisivo JSON5 o utilice la herramienta de limpieza para eliminar automáticamente las comas sobrantes antes de los delimitadores de cierre mediante expresiones regulares con aserción hacia adelante (lookahead).

⚠️Alteración o redondeo involuntario de IDs Snowflake de 64 bits

Los motores de JavaScript no pueden representar nativamente números enteros superiores a 2^53 - 1 en tipos Number sin sufrir pérdida de precisión. Para valores como 9007199254740993, envuelva el número entre comillas dobles ("9007199254740993") o active la protección de precisión BigInt para procesar tokens numéricos de gran escala como cadenas de texto seguras.

⚠️SyntaxError: Unexpected token / in JSON at position X (Comentarios no permitidos en JSON)

La especificación estándar de JSON no admite comentarios de una sola línea (//) ni multilínea (/* */). Al formatear archivos de configuración como tsconfig.json o ajustes de VSCode, cambie el modo del analizador a JSON5 / Permisivo para depurar los comentarios de forma segura preservando la integridad de todas las propiedades y datos válidos.

Preguntas frecuentes (FAQ)

¿Cómo formatear y validar JSON online sin poner en riesgo la seguridad ni la privacidad de los datos?▼

Formatee su JSON mediante herramientas web 100% en el lado del cliente (client-side) que procesan los datos en la memoria local del navegador a través del motor JavaScript V8. Al no realizarse peticiones de red, llamadas a APIs externas ni almacenamiento en servidores remotos, se garantiza que claves de API sensibles, registros confidenciales de clientes y tokens de sesión jamás abandonen su equipo.

¿Cuál es la diferencia entre los estándares JSON y JSON5?▼

JSON (RFC 8259) es un formato de intercambio de datos ultraestricto que exige comillas dobles en todas las claves, prohíbe comentarios y rechaza comas finales. JSON5 es un superconjunto compatible con ECMAScript 5.1 diseñado para la lectura humana, que permite comentarios de línea y de bloque (// y /* */), comas finales, cadenas con comillas simples, claves sin entrecomillar, notación hexadecimal (0xFF) y signos positivos explícitos (+42).

¿Por qué falla JSON.parse() al procesar comillas simples o claves sin entrecomillar?▼

La Sección 7 de la RFC 8259 especifica taxativamente que las cadenas deben delimitarse mediante comillas dobles Unicode (U+0022), catalogando las comillas simples (U+0027) como tokens de caracteres no válidos. Aunque las claves sin comillas son admisibles en literales de objetos de JavaScript, infringen la gramática de JSON. Para cumplir con el estándar RFC, un analizador léxico automatizado debe envolver los identificadores desnudos entre comillas dobles.

¿Cómo solucionar los errores de referencias circulares en JSON (Converting circular structure to JSON)?▼

Los errores de referencia circular se producen cuando un objeto se referencia a sí mismo de manera directa o a través de una propiedad antecesora, provocando una recursión infinita durante la serialización. Para solucionarlo, pase una función de sustitución (replacer) personalizada a JSON.stringify() que emplee un WeakSet para registrar los objetos ya visitados y sustituya las ramas cíclicas por un marcador como '[Circular]'.

¿Cómo gestionar enteros BigInt de 64 bits y marcas de tiempo extensas en JSON sin perder precisión?▼

La función nativa JSON.parse() convierte los valores numéricos a flotantes de doble precisión IEEE 754 de 64 bits, provocando un truncamiento silencioso en enteros que superan 9.007.199.254.740.991. Para procesar con total seguridad identificadores de 64 bits (como los snowflakes de Twitter o marcas de tiempo UNIX en microsegundos), utilice un preanalizador con expresiones regulares para encapsular entre comillas como cadenas de texto todo número que exceda los 15 dígitos antes del análisis sintáctico.

Herramientas y utilidades relacionadas

Todas las herramientas →