Mode d’emploi
- Collez le JSON original à gauche et le JSON modifié à droite.
- Indiquez si l’ordre des éléments dans les tableaux compte.
- Lisez la liste des valeurs ajoutées (+), supprimées (−) et modifiées (~), ou copiez-la sous forme de rapport.
Explication des options
- Comparer par position
- Les éléments des tableaux sont comparés un à un. Insérer un élément au début décale donc toutes les positions suivantes.
- Ignorer l’ordre
- Les tableaux sont traités comme des collections non ordonnées : seuls les éléments présents d’un côté et absents de l’autre sont signalés. Utile pour des listes d’identifiants, de tags ou d’enregistrements.
- Chemins
- Les chemins suivent la notation JSONPath : $ est la racine, .key une propriété, [0] un élément de tableau et ["a b"] une clé qui n’est pas un nom simple.
Exemple
Prenons ces deux documents, dont les clés sont dans un ordre différent et dont certaines valeurs diffèrent :
{"name": "Ada", "age": 36, "tags": ["x", "y"], "address": {"city": "Rome"}, "first name": "A"}
{"age": 37, "name": "Ada", "tags": ["y", "x"], "address": {"city": "Rome", "zip": "00100"}, "first name": "B", "role": "admin"}
Comparé par position, le résultat est :
| Modification | Chemin | Avant | Après |
|---|---|---|---|
| ~ | $.age |
36 | 37 |
| ~ | $.tags[0] |
“x” | “y” |
| ~ | $.tags[1] |
“y” | “x” |
| + | $.address.zip |
“00100” | |
| ~ | $["first name"] |
“A” | “B” |
| + | $.role |
“admin” |
Avec Ignorer l’ordre activé, les deux modifications de tags disparaissent, car les deux tableaux contiennent les mêmes deux valeurs. L’ordre des clés n’a aucun effet dans les deux modes. Une valeur qui change de type, comme un nombre qui devient une chaîne ou un objet qui devient un tableau, est signalée comme une seule modification à son propre chemin.
Questions fréquentes
Quelle différence avec une comparaison de texte ?
Un diff texte compare des lignes : la mise en forme et l’ordre des clés y apparaissent comme des changements. La comparaison JSON analyse les deux côtés et compare les données elles-mêmes.
1 et "1" sont-ils considérés comme égaux ?
Non. Un nombre et une chaîne sont des valeurs JSON différentes : la modification est signalée avec les deux valeurs.
Mes données sont-elles envoyées sur un serveur ?
Non. Les deux documents sont comparés dans votre navigateur.
Confidentialité
Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers et vos textes sont traités sur votre appareil et ne sont jamais envoyés à nos serveurs.