Aller au contenu
FileTinker

JSON Diff

Collez deux documents JSON et voyez ce qui a été ajouté ou supprimé, ligne par ligne. Les clés des objets sont d'abord triées, de sorte qu'un objet réordonné n'est pas compté comme une modification. Tout s'exécute dans votre navigateur, vos données ne sont donc jamais envoyées en ligne.

Comment comparer du JSON

  1. Collez le JSON original dans la zone de gauche.
  2. Collez le JSON modifié dans la zone de droite.
  3. Consultez les ajouts et les suppressions surlignés ci-dessous.

À propos de la comparaison de JSON

Comparer du JSON à l'œil est source d'erreurs, surtout lorsque les clés sont réordonnées ou que les documents sont volumineux. Un diff sémantique normalise les deux côtés — en triant les clés des objets tout en préservant l'ordre des tableaux — puis ne met en évidence que les lignes qui diffèrent réellement, afin que vous voyiez les véritables modifications plutôt que le bruit de mise en forme.

C'est utile pour examiner les réponses d'API, les modifications de configuration et la sortie des tests de snapshot. Tout est calculé dans votre navigateur, de sorte que les données que vous comparez — qui contiennent souvent de vrais enregistrements — ne quittent jamais votre appareil.

Utilisez un outil de comparaison de fichiers chaque fois que deux environnements présentent des différences et que les fichiers de configuration sont censés être identiques – c’est un outil classique pour comparer les fichiers de configuration de l’environnement de test et de l’environnement de production. Il est également très utile pour vérifier vos propres modifications : après avoir modifié manuellement un document volumineux, un outil de comparaison confirme que vous avez modifié exactement les champs que vous vouliez modifier et rien d’autre. Et lorsqu’une mise à niveau d’une API provoque un dysfonctionnement d’un client, la comparaison des réponses de chaque version permet d’identifier en quelques secondes le champ renommé ou manquant.

Le comportement consistant à trier les clés mais pas les tableaux est conforme à la spécification JSON elle-même. Un objet est défini comme une collection non ordonnée : deux objets ayant les mêmes éléments sont considérés comme ayant la même valeur, quel que soit l’ordre dans lequel un sérialiseur les a écrits. Les tableaux, en revanche, sont ordonnés par définition : l’échange de deux éléments produit un document véritablement différent. Le fait de normaliser l’un et pas l’autre est ce qui distingue une comparaison sémantique d’une simple comparaison textuelle.

Questions fréquentes

Comment comparer deux fichiers JSON ?

Collez l'original à gauche et la version modifiée à droite. Les lignes ajoutées sont surlignées en vert, les lignes supprimées en rouge, avec un décompte pour chacune.

L'ordre des clés a-t-il une importance ?

Non. Les deux côtés sont re-sérialisés avec des clés triées avant la comparaison, de sorte que réordonner les mêmes clés n'affiche aucune différence — seules les véritables modifications de valeur ou de structure apparaissent.

Que se passe-t-il si mon JSON est invalide ?

L'outil vous indique quel côté n'a pas pu être analysé et pourquoi, afin que vous puissiez le corriger avant de comparer.

Mes données sont-elles envoyées en ligne ?

Non. La comparaison s'exécute entièrement dans votre navigateur ; rien n'est envoyé à un serveur.

Pourquoi des valeurs qui semblent identiques apparaissent-elles comme ayant été modifiées ?

Il s’agit généralement d’une différence de type. La chaîne de caractères « 1 » et le nombre 1 s’affichent presque de la même manière, mais ce sont des valeurs JSON différentes, et il en va de même pour « true » par rapport à `true` ou « null » par rapport à `null`. Ce problème se pose le plus souvent avec les données exportées à partir de tableurs ou de formulaires, où tout est traité comme une chaîne de caractères. La comparaison révèle la vérité : vérifiez les guillemets autour de la valeur modifiée.