Comparaison JSON Diff en ligne

Traitement local
app.diff.view

Vous pouvez aussi injecter des données via #data={"name":"Ada"} ou #url=... Elles sont lues puis retirées de la barre d’adresse.

Collez deux JSON dans les colonnes gauche et droite pour comparer structurellement ajouts, suppressions et changements de valeurs. Plus adapté qu’un Diff texte pour une montée de version d’API ou un changement de config (« même structure, valeurs différentes »). Avant publication, collez des réponses d’exemple v1 / v2 : moins de champs imbriqués oubliés qu’un diff Git sur une ligne compressée.

Comparaison sémantique

On s’intéresse aux écarts de chemin, pas à l’alignement d’espaces. Si l’indentation ou l’ordre des clés diffère, la comparaison structurée fait généralement moins de bruit qu’un Diff texte.

Le résultat marque ajouts, modifications et suppressions, avec un filtre par type de changement.

Idéal pour relire un changement

Voyez quelles clés ont changé avant de modifier le client. Un nombre devenu chaîne, un champ supprimé : plus fiable qu’un balayage visuel de 500 lignes.

Les testeurs peuvent aussi comparer une baseline et la réponse actuelle pour un contrôle de régression.

Trier avant de comparer

Si l’ordre des clés est instable, triez d’abord puis collez. Pour un tableau-ensemble sans ordre métier, un changement d’ordre peut être un faux positif : à juger selon le besoin.

Masquez d’abord les champs sensibles, même si cette page n’envoie aucune donnée.

Exemple

Gauche A
{
  "name": "Alice",
  "age": 30,
  "tags": ["dev", "json"]
}
Droite B (changements par rapport à A)
{
  "name": "Alice",
  "age": 31,
  "tags": ["dev", "tools"],
  "active": true
}
L’ordre d’un tableau compte-t-il comme une différence ?

La comparaison se fait par position. Deux listes aux mêmes éléments dans un autre ordre seront signalées.

Que faire d’un très gros fichier ?

La comparaison s’exécute sur cet ordinateur. Pour un volume important, extraire d’abord le fragment utile avec JSONPath.

Que s’affiche-t-il si tout est identique ?

Un message indique que les deux JSON sont identiques, sans différence surlignée.

null et un champ absent, est-ce la même chose ?

Non. D’un côté null , de l’autre la clé absente : les deux cas sont marqués distinctement, et le sens n’est pas le même.

Flux recommandé

  1. Préparez un exemple ancien (A) et un nouveau (B) ; formatez-les d’abord si besoin.
  2. Cliquez sur « Lancer la comparaison » et filtrez par ajout / modification / suppression.
  3. Notez les chemins à mettre dans le CHANGELOG ou les assertions de test.
  4. Si seules les clés sont dans un autre ordre, triez les deux côtés puis comparez à nouveau.

Le Diff montre « où les deux jeux diffèrent » ; Schema montre « s’ils respectent le contrat ». Pour une montée d’API, faites les deux.