Comparador de JSON
Comparador de JSON: recorre dos objetos y lista claves añadidas, eliminadas o cambiadas por ruta.
Comparación estructural por rutas
El comparador analiza dos documentos JSON válidos y recorre sus valores. Informa propiedades añadidas, eliminadas o cambiadas usando rutas que parten de $. Los objetos se examinan por clave y los arrays por posición, con índices escritos entre corchetes.
Ejemplo de tres diferencias
Al comparar {"a":1,"same":true} con {"a":2,"new":"x"}, $.a aparece como cambiado, $.same como eliminado y $.new como añadido. La lista separa ubicación y tipo de cambio para que puedas volver al documento original sin leerlo entero.
Orden de objetos y arrays
El orden textual de las claves de un objeto no define una diferencia si los pares coinciden. En un array, en cambio, la posición forma parte de la comparación: mover un elemento puede generar varios cambios por índice. El motor no intenta reconocer movimientos.
Valores primitivos y anidación
Números, cadenas, booleanos y null se comparan como valores JSON. Los objetos y arrays se recorren de manera recursiva, por lo que una propiedad profunda obtiene una ruta precisa. Antes de interpretar la lista, confirma que ambos textos representen los datos previstos.
Qué no produce el informe
La herramienta no crea un parche, no combina documentos y no decide si un cambio es correcto para el negocio. Tampoco ignora campos volátiles ni aplica tolerancia numérica. Es una comparación exacta para localizar diferencias pequeñas y revisarlas después.
Ausencia, null y cadena vacía
Una propiedad eliminada, una propiedad con null y otra con cadena vacía representan estados distintos y aparecen como diferencias distintas. No los unifiques sin una regla del contrato. Esta precisión es útil al revisar APIs, donde omitir un campo puede significar «sin cambio» y enviarlo como null puede solicitar borrado.
Fuentes y referencias
Continúa con estas herramientas
Preguntas frecuentes
¿Cambiar el orden de claves cuenta como diferencia?
No en los objetos, porque se recorren por nombre. Los pares equivalentes siguen iguales aunque aparezcan en otro orden textual.
¿Qué ocurre si reordeno un array?
Los elementos se comparan por índice. Un movimiento puede mostrarse como varios valores cambiados en lugar de una operación de traslado.
¿Puede comparar JSON que contiene comentarios?
No. Los comentarios no pertenecen a JSON estándar y el análisis falla hasta que se retiren o conviertan fuera.
¿La ruta $.user.name qué señala?
Indica la propiedad name dentro del objeto user situado en la raíz. Los corchetes se reservan para posiciones de arrays.
¿Genera un documento combinado?
No. Mantiene las dos entradas y lista diferencias. La decisión de aceptar, descartar o fusionar cada cambio queda fuera.
¿Distingue 1 de 1.0?
Tras analizar JSON ambos son el mismo valor numérico. Diferencias de escritura sin diferencia de valor no se conservan.
Herramienta de OCC Tools