Cómo comparar JSON
- Pega el JSON original a la izquierda y el JSON modificado a la derecha, o suelta un archivo en cada lado.
- Revisa el resumen y la lista de diferencias: cada valor añadido, eliminado o modificado aparece con su ruta, por ejemplo
$.users[2].email. - Desplázate hacia abajo hasta la vista lado a lado para ver los cambios en contexto. Marca Ignorar el orden de los arrays si el orden de los elementos de las listas no importa.
Comparación semántica de JSON, no un simple diff de texto
Un diff de texto plano marca un cambio cada vez que una clave se mueve, la sangría es distinta o un número se escribe de otra forma. Este comparador de JSON compara los datos en sí:
- Se ignora el orden de las claves:
{"a":1,"b":2}es igual a{"b":2,"a":1}. - Se ignora el formato: los espacios, los saltos de línea y la sangría no influyen.
- Los números se comparan por su valor:
1.0es igual a1. - Los arrays se alinean: insertar un elemento no marca como modificados todos los siguientes, y los objetos modificados se emparejan con su equivalente más parecido.
- Ignorar el orden de los arrays: compara los arrays como colecciones sin orden, algo útil para listas de etiquetas, ID o permisos.
Cómo interpretar los resultados
| Etiqueta | Significado | La ruta apunta a |
|---|---|---|
| Añadido | El valor solo existe en el JSON modificado | su posición en el JSON modificado |
| Eliminado | El valor solo existe en el JSON original | su posición en el JSON original |
| Modificado | Ambos documentos tienen la clave, pero con distinto valor o tipo | su posición en el JSON modificado |
En la vista lado a lado, ambos documentos se formatean con las claves ordenadas para que las líneas coincidentes queden enfrentadas; los tramos largos sin cambios se pliegan, salvo que desmarques Ocultar líneas sin cambios.
Preguntas frecuentes
¿Importa el orden de las claves?
No. Por definición, los objetos JSON no tienen orden, así que la comparación ignora el orden de las claves. Los arrays sí lo tienen, salvo que marques Ignorar el orden de los arrays.
¿Puedo comparar archivos JSON grandes?
Sí. La comparación se ejecuta en tu navegador y muestra las primeras 200 diferencias, con un botón para verlas todas; la vista lado a lado muestra hasta 5000 líneas.
¿Cómo comparo JSON en código?
En Python, json.loads(a) == json.loads(b) comprueba la igualdad. JavaScript no tiene una comparación profunda integrada; librerías como Lodash ofrecen _.isEqual(a, b). En la línea de comandos, diff <(jq -S . a.json) <(jq -S . b.json) muestra las líneas que difieren.
¿Se suben mis datos?
No. Ambos documentos se comparan localmente en tu navegador y nunca salen de tu dispositivo.