JSON 1

JSON 2

Différences

Qu'est-ce que JSON Diff ?

Deux réponses d'API ont l'air presque identiques, mais quelque chose a changé et a cassé la production. Ou bien vous fixez un fichier de configuration qui marchait hier et plus aujourd'hui. JSON Diff fait ce qui est péniblement lent à l'œil : il parcourt les deux objets clé par clé et vous montre exactement ce qui a été ajouté, ce qui a été supprimé et ce qui a été modifié — ligne par ligne.

Parce que la comparaison est structurelle (pas seulement textuelle), l'ordre des clés et les espaces ne la perturbent pas. Un fichier reformaté avec les mêmes données affiche zéro différence. Un champ renommé apparaît comme une suppression et un ajout. C'est la même approche que celle de la RFC 6902 pour JSON Patch, la spec officielle pour décrire les changements JSON. Pour réviser le format sous-jacent, la spécification officielle JSON ou la RFC 8259 sont de bonnes références. Et quand vos entrées ne sont pas strictement du JSON — bouts de logs, charges utiles partiellement encodées ou texte mixte — un outil de comparaison de texte généraliste couvre ce volet du flux de travail.

Comment utiliser JSON Diff

  1. Collez le JSON d'origine – Déposez votre version « avant » dans le panneau de gauche. C'est la base à laquelle vous comparez.
  2. Collez le JSON mis à jour – Déposez la version « après » dans le panneau de droite. L'ordre compte : les différences sont rapportées par rapport à l'original.
  3. Examinez la sortie du diff – Le panneau du bas met en évidence chaque changement. Les lignes supprimées sont en rouge, les lignes ajoutées en vert, et les valeurs modifiées affichent l'ancienne et la nouvelle côte à côte.
  4. Utilisez les données d'exemple – Cliquez sur « Sample » dans le panneau de gauche pour charger un petit exemple traité et voir comment l'outil se comporte avant de coller vos propres données.
  5. Ignorez le bruit cosmétique – Comme la comparaison est structurelle, vous n'avez pas besoin de reformater les deux côtés. Un JSON minifié face à un JSON formaté avec les mêmes données s'affichera comme identique.

Astuce : Si vous ne vous intéressez qu'aux clés qui ont changé (pas aux valeurs), concentrez-vous sur les titres de sections dans le diff — ils montrent le chemin JSON vers chaque feuille modifiée.

Exemple

Deux versions du même profil d'abonné — le forfait a changé, l'itinérance a été activée et la puissance du signal a baissé. Le diff ne met en évidence que ce qui a bougé.

Avant → Après Comparer
profile.before.jsonOriginal
{
  "msisdn": "447700900142",
    "plan": "Pay As You Go",
    "roaming": false,
    "rsrp": -88,
  "updatedAt": "2026-05-12"
}
profile.after.json3 changements
{
  "msisdn": "447700900142",
    "plan": "Unlimited 5G",
    "roaming": true,
    "rsrp": -104,
  "updatedAt": "2026-06-24"
}

Cas d'usage courants

Tests de régression entre versions d'API

Vous êtes passé d'une API v1 à v2 et voulez confirmer que rien d'important n'a changé dans la forme de la réponse. Collez la réponse d'hier à gauche, celle d'aujourd'hui à droite — tout ce qui a bougé (un champ renommé, une nouvelle propriété facultative, une valeur d'énum supprimée) apparaît immédiatement. C'est le test de contrat le moins cher que vous lancerez jamais.

Détection de dérive de configuration

Deux environnements — staging et production — sont censés partager la même configuration mais quelque chose se comporte différemment. Exportez les deux configs, comparez-les ici, et la clé fautive saute aux yeux. Combiné à un passage de JSON validator, cela rattrape la majorité des problèmes « ça marche sur ma machine » avant qu'ils n'atteignent une revue d'incident.

Audit et pistes de conformité

Beaucoup de référentiels de conformité exigent que vous montriez l'état avant/après quand des enregistrements sensibles changent. Utilisez le diff pour produire un résumé lisible des champs qui ont bougé entre deux instantanés — preuve utile à joindre à une demande de changement ou à un journal d'audit. Pour le format formel de description des changements, la RFC JSON Patch mérite d'être mise en favoris.

Fonctionnalités clés

  • Comparaison structurelle – Ignore les différences cosmétiques (espaces, ordre des clés, indentation) et compare les données réelles.
  • Surlignage Ajouté / Supprimé / Modifié – Sortie en code couleur pour parcourir un diff en quelques secondes.
  • Gère les structures imbriquées – Les objets et tableaux profonds sont parcourus récursivement ; les changements sont rapportés avec leur chemin JSON complet.
  • Aucun aller-retour serveur – La comparaison se fait entièrement dans votre navigateur ; aucun côté n'est jamais envoyé.
  • Chargeur d'exemple – Exemple pré-chargé pour voir la forme de la sortie avant de coller vos vraies données.

Foire aux questions

L'ordre des clés dans les objets affecte-t-il le diff ?

Non. Les objets JSON sont non ordonnés par définition (voir RFC 8259 §4). L'outil compare par nom de clé, donc deux objets avec les mêmes données dans un ordre différent produisent zéro différence.

Et l'ordre des tableaux ?

Les tableaux sont ordonnés, donc la position compte. ["a", "b"] et ["b", "a"] apparaissent comme différents. Si vous voulez une comparaison de tableaux insensible à l'ordre, triez les deux tableaux avant de les coller — ou utilisez une bibliothèque de diff structurel comme jsondiffpatch dans votre code.

Puis-je comparer de gros fichiers JSON ?

Oui. L'outil gère confortablement des fichiers jusqu'à quelques mégaoctets. Au-delà, le diff lui-même reste rapide, mais le rendu de milliers de lignes modifiées dans le navigateur peut paraître saccadé — essayez de restreindre l'entrée au sous-arbre d'objet qui vous intéresse vraiment.

Mes données sont-elles en sécurité ?

Oui. La comparaison s'exécute entièrement côté client dans votre navigateur. Aucun bloc JSON n'est envoyé à un serveur, rien n'est mis en cache, rien n'est journalisé. Si la confidentialité est critique, vous pouvez aussi vous déconnecter du réseau et l'outil continuera à fonctionner — essayez.

Mon JSON a des virgules finales / des apostrophes — pourra-t-il quand même être comparé ?

Les deux côtés doivent d'abord être du JSON valide. Si le parsing échoue d'un côté ou de l'autre, le diff ne s'exécute pas. Passez chaque côté dans un JSON Validator pour identifier le problème de syntaxe, puis revenez. Pour une liste des pièges JSON courants, la documentation JSON de MDN se lit vite.

Outils associés

  • JSON Formatter – Formatez joliment les deux côtés avant la comparaison si vous voulez une indentation cohérente.
  • JSON Validator – Détectez les erreurs de syntaxe avant qu'elles ne cassent le diff.
  • JSON to Table – Affichez l'une ou l'autre version comme tableau triable pour parcourir rapidement les lignes.
  • JSON Minifier – Supprimez les espaces si vous voulez comparer la taille brute en octets, pas la structure.

Ressources utiles

  • RFC 8259 – La spec IETF actuelle pour JSON ; définit l'égalité d'objets et les règles d'ordre des tableaux.
  • RFC 6902 — JSON Patch – Format standard pour représenter les différences entre deux documents JSON.
  • JSON.org – Spécification JSON d'origine avec des diagrammes en railroad de la grammaire.
  • MDN JSON Guide – Référence pour parser et sérialiser du JSON en JavaScript.
  • jsondiffpatch – Bibliothèque JS open source qui alimente de nombreux outils de diff JSON web, avec détection des déplacements dans les tableaux.
  • Stack Overflow JSON Tag – Questions/réponses de la communauté pour les cas limites JSON et le parsing par langage.