Aller au contenu
ToolMug

Comparer deux JSON

Voyez exactement ce qui a changé entre deux versions d’un fichier de configuration JSON, d’une réponse d’API ou d’un fichier de données. Les différences sont listées par chemin, comme $.users[2].email : les clés réordonnées et les changements de mise en forme n’apparaissent pas comme des modifications.

Fonctionne dans votre navigateur — rien de ce que vous saisissez n’est envoyé

Collez du JSON des deux côtés pour les comparer.

Mode d’emploi

  1. Collez le JSON original à gauche et le JSON modifié à droite.
  2. Indiquez si l’ordre des éléments dans les tableaux compte.
  3. 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.

Outils similaires