Saltar al contenido
TextArray
Totalmente local

Diferencia JSON

Compare dos documentos JSON estructuralmente y vea cada valor agregado, eliminado y modificado por su ruta.

Entrada
JSON cambiado
Salida

Diferencia JSON

Pegue el JSON original en el primer campo y la versión modificada en el segundo, y la herramienta informará cada diferencia según su ruta: + user.roles[2] = "admin" para un valor agregado, − user.legacyId para uno eliminado, ~ user.name: "Anna" → "Eva" para variar. La comparación es estructural, no textual: ambos documentos se analizan y sus valores se comparan de forma recursiva, por lo que el cambio de formato, la sangría y el orden de las claves de los objetos nunca cuentan como diferencias. Eso es exactamente lo que una diferenciación de texto plano se equivoca sobre JSON.

Consígalo cuando dos respuestas de API deberían coincidir pero no lo hacen: la puesta en escena frente a la producción, la carga útil de ayer frente a la de hoy, la respuesta antes y después de una implementación. Es igualmente útil para la deriva de configuración (dos archivos de configuración exportados que se separaron con el tiempo) y para depurar el estado serializado, donde un único indicador modificado se oculta en kilobytes de objetos anidados.

Los elementos de la matriz se comparan por índice, por lo que una lista desplazada aparece como una serie de cambios. Cuando el orden realmente no importa (etiquetas, listas de permisos), active "Ignorar el orden de las matrices" y las matrices se compararán como conjuntos múltiples: solo se informarán los elementos realmente agregados o eliminados. "Mostrar valores sin cambios" enumera además todas las rutas sin cambios, lo que convierte el resultado en un inventario completo anotado del documento.

Ambos documentos se analizan y comparan completamente en su navegador. No se carga nada, por lo que las cargas útiles de producción, los tokens y los datos de los clientes dentro de su JSON permanecen en su dispositivo.

Preguntas frecuentes

¿En qué se diferencia esto de una diferencia de texto?
Una diferencia de texto compara líneas, por lo que reformatear o reordenar las claves parecen cambios. Esta herramienta analiza ambos documentos y compara valores estructuralmente; solo se informan las diferencias reales en los datos.
¿Importa el orden de las claves de los objetos?
No. {"a":1,"b":2} y {"b":2,"a":1} son idénticos. Los objetos se comparan por clave, no por posición.
¿Cómo se comparan las matrices?
Por índice: se compara el tercer elemento del original con el tercer elemento del documento modificado. Active "Ignorar el orden de las matrices" para hacer coincidir las matrices como conjuntos múltiples, de modo que el reordenamiento no se informe como una diferencia.
¿Qué significan las rutas en la salida?
Los puntos descienden hacia los objetos y los corchetes hacia las matrices: user.roles[2] es el tercer elemento de la matriz de roles dentro del usuario. Las claves que no son identificadores simples se citan entre paréntesis.
¿Mi JSON está subido a alguna parte?
No. Ambos documentos se analizan y comparan completamente en su navegador y nunca salen de su dispositivo.