JSON Diff

Comparez deux documents JSON et visualisez un diff structurel de ce qui a été ajouté, supprimé et modifié — entièrement dans votre navigateur.

Les deux documents JSON sont analysés et comparés localement dans votre navigateur et ne sont jamais téléversés, mais évitez de coller des secrets ou des identifiants de production dans un quelconque outil en ligne.

Besoin de remettre en forme le résultat ? Essayez le Formateur JSON.

À propos de JSON Diff

JSON Diff compare deux documents JSON et affiche un diff structurel au lieu d'un diff texte ligne par ligne. Collez votre JSON d'origine à gauche et la version modifiée à droite : l'outil analyse les deux et signale précisément les valeurs ajoutées, supprimées, modifiées ou dont le type a changé — chacune avec un chemin comme user.roles[2]. Comme la comparaison est sémantique, réordonner les clés d'un objet n'apparaît jamais comme une différence, vous ne voyez donc que les changements qui comptent vraiment. Activez Ignorer l'ordre des tableaux pour comparer les tableaux comme des ensembles, ou Trier les clés pour normaliser les deux côtés dans la vue côte à côte. Il est conçu pour les développeurs qui comparent des réponses d'API, des fichiers de configuration et des fixtures. Tout s'exécute localement dans votre navigateur, le JSON que vous collez n'est donc jamais téléversé et reste sur votre appareil.

Fonctionnalités

Comment utiliser JSON Diff

  1. Collez le JSON d'origine dans la zone Original à gauche.
  2. Collez le JSON mis à jour dans la zone Modifié à droite.
  3. Lisez le diff coloré : vert pour les ajouts, rouge pour les suppressions, ambre pour les valeurs modifiées.
  4. Activez Ignorer l'ordre des tableaux ou Trier les clés si l'ordre ne doit pas compter comme une différence.
  5. Passez en vue Côte à côte pour comparer les deux documents formatés, ou copiez le résumé du diff.

Exemple

Entrée

// Original
{ "name": "Ada", "roles": ["admin"], "active": 1 }

// Changed
{ "active": "1", "name": "Ada", "roles": ["admin", "editor"] }

Sortie

+ roles[1]: "editor"
~ active: 1 → "1"   (type changed)

Les clés réordonnées sont ignorées ; un nouvel élément de tableau est ajouté et active passe de nombre à chaîne.

Erreurs courantes et dépannage

Foire aux questions

JSON Diff ignore-t-il l'ordre des clés d'objet ?
Oui. La comparaison est sémantique, donc deux objets avec les mêmes clés et valeurs sont égaux quel que soit l'ordre des clés. Seuls les vrais ajouts, suppressions et changements de valeur sont signalés, chacun avec son chemin.
Comment JSON Diff gère-t-il les tableaux dans un ordre différent ?
Par défaut, les tableaux sont comparés par position, donc réordonner les éléments apparaît comme des changements. Activez Ignorer l'ordre des tableaux pour les comparer comme des multiensembles, où seuls les membres réellement ajoutés ou supprimés sont signalés.
Pourquoi 1 et "1" sont-ils affichés comme différents ?
Parce que leurs types JSON diffèrent — l'un est un nombre et l'autre une chaîne. JSON Diff étiquette cela comme un changement de type, distinct d'un changement de valeur ordinaire, pour repérer les nombres convertis en chaîne par accident dans les réponses d'API.
Que signifie un chemin comme user.roles[2] dans le diff ?
Il pointe vers l'emplacement exact du changement : la clé user, puis son tableau roles, puis l'élément à l'index 2. Les clés d'objet utilisent des points et les éléments de tableau des indices entre crochets.
Puis-je comparer du JSON profondément imbriqué et des tableaux imbriqués ?
Oui. JSON Diff parcourt récursivement les deux documents à travers les objets et tableaux imbriqués de n'importe quelle profondeur, signalant chaque changement à son chemin complet pour que les charges utiles volumineuses et profondément imbriquées restent lisibles.
Le JSON que je colle dans JSON Diff est-il téléversé quelque part ?
Non. Les deux documents sont analysés et comparés entièrement dans votre navigateur, donc le JSON que vous collez — y compris les champs sensibles — reste sur votre appareil et n'est jamais envoyé à un serveur.

Outils associés

Tous les outils ArrayKit