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.

Compartir esta guía

Enlace del artículo