Comparador de JSON: diferencias de estructura y valores
Compare dos objetos JSON en tiempo real con validación sintáctica, detección visual de diferencias y formateador.
Comparar dos JSON: cómo se calcula la diferencia
La herramienta analiza los dos JSON y los recorre clave por clave: cada ruta (por ejemplo settings.theme) se clasifica como añadida, eliminada, modificada o con cambio de tipo. El orden de las claves no cuenta, pero las matrices se comparan posición por posición.
El método
- Cada texto se lee con el analizador JSON estándar del navegador. Si hay un error de sintaxis (coma final, comillas simples, comentario), se muestra el mensaje de error y no se compara nada.
- Los objetos se comparan sobre la unión de sus claves: una clave solo a la izquierda es «eliminada», solo a la derecha «añadida». Los valores presentes en ambos lados se comparan de forma recursiva.
- Dos valores simples distintos dan «modificado»; un número convertido en cadena (1 y "1") da «cambio de tipo».
- Las matrices se tratan como objetos indexados: la ruta tags.3 designa el 4.º elemento.
Ejemplo
Con los dos JSON de ejemplo, la herramienta encuentra 7 diferencias: appName, version, settings.theme, settings.notifications y settings.maxItems modificados (50 pasa a 100), settings.cacheEnabled añadido y tags.3 ("ai") añadido. La clave active, idéntica, no aparece.
Límites
- Quitar un elemento al principio de una matriz desplaza todos los siguientes: ["a","b","c"] frente a ["b","c"] muestra dos modificaciones y una eliminación, no una sola eliminación.
- Los números se leen en doble precisión: por encima de 9.007.199.254.740.991, dos enteros distintos pueden considerarse iguales. Compare los identificadores largos como cadenas.
- Si una clave aparece dos veces en el mismo objeto, solo cuenta el último valor. 1.0 y 1 se consideran iguales.
- El botón de formato reindenta ambos textos con 2 espacios; la comparación se hace en el navegador, sin enviar datos.
Fuentes y fechas: formato JSON definido por la RFC 8259 (diciembre de 2017), cuya sección 6 limita la interoperabilidad de los enteros al intervalo ±(2⁵³ − 1) (verificado el 14/10/2026).
Preguntas frecuentes
¿Importa el orden de las claves en la comparación?
No. {"a":1,"b":2} y {"b":2,"a":1} se consideran idénticos, porque la herramienta empareja las claves por su nombre. La RFC 8259 indica además que el orden de los miembros de un objeto no tiene un significado garantizado.
¿Por qué una matriz reordenada muestra tantas diferencias?
Las matrices se comparan posición por posición. Si se quita el primer elemento, todos los siguientes cambian de índice: ["a","b","c"] frente a ["b","c"] da dos modificaciones y una eliminación.
¿Qué significa «cambio de tipo»?
La misma clave tiene valores de tipo distinto en cada lado, por ejemplo el número 1 a la izquierda y la cadena "1" a la derecha. Es una fuente habitual de errores entre una API y su cliente.
¿Por qué se rechaza mi JSON?
La herramienta aplica la sintaxis JSON estricta: comillas dobles obligatorias, sin coma tras el último elemento y sin comentarios. El mensaje de error del navegador suele indicar la posición del carácter erróneo.
¿La herramienta es realmente gratuita?
Sí, todas las herramientas en Kristools son 100% gratuitas y accesibles sin registro.
¿Están protegidos mis datos?
Sí. Todo el procesamiento se realiza de forma segura y directa en tu navegador. No se envían datos personales a nuestros servidores.