En esta página
Para descubrir qué cambió en una respuesta JSON de una API, guarda una captura anterior y otra nueva del mismo caso, comprueba que ambas sean JSON válido y compáralas por valores. Revisa las rutas marcadas como altas, bajas o cambios y contrástalas con el contrato de la API. El comparador identifica diferencias entre estas dos muestras; decidir si alguna es una regresión requiere conocer el comportamiento esperado.
1. Prepara dos capturas comparables
Usa el mismo endpoint, método, parámetros y contexto de datos antes y después del cambio. Si comparas pedidos distintos, las diferencias pueden venir de los datos y no del despliegue. Conserva también el código de estado HTTP y cualquier dato del contexto que necesites para interpretar la respuesta: el diff examina el cuerpo JSON que le pegues.
Sustituye tokens, datos personales y otros secretos antes de copiar una respuesta a cualquier herramienta. Un identificador generado o una marca de tiempo pueden cambiar de verdad entre solicitudes y aun así ser cambios esperados. Si aparecen, revísalos por separado; JSON Diff no los ignora automáticamente.
Las dos capturas deben ser JSON estricto. Si alguna contiene comentarios, comas finales o un error de sintaxis, corrígela y compruébala con el validador JSON antes de interpretar diferencias.
2. Compara el antes y el después
Imagina dos capturas ficticias del mismo pedido A-17. Antes:
{
"pedido": { "id": "A-17", "estado": "pendiente" },
"lineas": [{ "sku": "CU-1", "cantidad": 1 }]
}
Después:
{
"lineas": [{ "sku": "CU-1", "cantidad": 2 }],
"pedido": { "estado": "pagado", "id": "A-17" },
"envio": null
}
Pega la primera captura en JSON anterior y la segunda en JSON nuevo del comparador JSON. Selecciona Comparar y lee el resumen y las rutas. El cambio de orden de las claves del objeto no añade una diferencia.
| Ruta | Tipo | Antes → después | Qué comprobar |
|---|---|---|---|
$.pedido.estado |
Cambio | "pendiente" → "pagado" |
¿Se esperaba el nuevo estado para este pedido? |
$.lineas[0].cantidad |
Cambio | 1 → 2 |
¿Se esperaba esa cantidad para la misma línea? |
$.envio |
Alta | Ausente → null |
¿Qué significa la nueva propiedad para los clientes? |
El resumen es 1 alta, 0 bajas y 2 cambios: 3 diferencias en total. Una baja habría indicado una propiedad o un elemento anterior que ya no aparece. Aquí envio es un alta aunque su valor sea null: la propiedad antes no existía. El array lineas se compara por posición; el índice [0] señala su primer elemento.
Si una inserción en un array produce varios cambios o dudas entre un campo ausente y null, consulta cómo interpretar un diff JSON.
3. Decide qué diferencias necesitan investigación
Contrasta cada ruta con el contrato y las pruebas de la API. El estado pagado podría ser el resultado previsto; una cantidad que pasó de 1 a 2 merece comprobar los datos de entrada y las reglas del pedido. Para envio, revisa si los clientes distinguen entre una propiedad ausente y una propiedad presente con null. La simple aparición de un campo no demuestra por sí sola compatibilidad ni ruptura.
Si confirmas una regresión, documenta el caso y crea o ajusta una aserción en tus pruebas de API. Si el comparador muestra cero diferencias, solo sabes que estos dos cuerpos JSON se compararon iguales por valor; eso no prueba que otras solicitudes, los encabezados o el comportamiento de la API sean idénticos.