Aller au contenu

Comparateur JSON

JSON Diff

Compare deux documents JSON sur leur structure, sans tenir compte de l’ordre des clés, et signale les chemins ajoutés, retirés et modifiés.

Compare deux documents JSON structurellement plutôt que comme du texte : une clé réordonnée ou une indentation différente n'est donc pas une différence. La sortie est à la fois un tableau lisible de ce qui a changé et un patch RFC 6902 qui transforme exactement le document de gauche en celui de droite.

🔒 Fonctionne entièrement dans votre navigateurjsondiffcompare
Tableaux

Aligne d’abord les deux tableaux, pour qu’une insertion compte pour une modification et non pour cent.

Gauche

Droite

Comment s’en servir

  1. Collez les deux documents

    Deux réponses d'API, deux configurations, un avant et un après. La comparaison tourne dans un worker et se met à jour pendant que vous tapez.

  2. Choisissez comment les tableaux sont comparés

    C'est le réglage qui décide si le résultat est utile. Aligner met d'abord les deux tableaux en correspondance, si bien qu'insérer un élément est un seul changement. Par index compare position par position, ce qui est juste quand l'ordre est la donnée. Par clé apparie les éléments sur un membre nommé — la réponse quand deux réponses listent les mêmes choses dans un ordre différent.

  3. Décidez si null veut dire absent

    Certains sérialiseurs omettent un champ vide, d'autres écrivent `null`. Si vous comparez les sorties de deux piles différentes, activer ceci supprime une page entière de fausses différences.

  4. Prenez le tableau, ou prenez le patch

    Le tableau est fait pour être lu ; le patch, pour être appliqué. Les chemins des deux sont des pointeurs RFC 6901 : ils se collent donc dans n'importe quel outil qui parle JSON Patch.

Questions fréquentes

Pourquoi un seul élément inséré dans un tableau apparaît-il comme cent changements ?

Parce que le mode de tableau est Par index : l'élément 1 est comparé à l'élément 2 et tout se décale. Passez à Aligner, qui met d'abord les tableaux en correspondance, ou à Par clé si les éléments ont un identifiant.

Puis-je appliquer le patch ici ?

Non, cette page ne fait que le produire. Mais le patch est exact : l'appliquer au document de gauche donne celui de droite octet pour octet dans le modèle de données, et c'est cet aller-retour que la suite de tests vérifie à chaque changement.

Il dit que les deux documents ne sont pas apparentés.

Ce message apparaît quand la comparaison dépasse vingt mille changements et s'arrête. À ce stade, le diff ne vous apprend plus rien d'utile — vous comparez deux documents différents plutôt que deux versions d'un même document.

L'ordre des clés compte-t-il parfois ?

Pas pour cet outil — les objets JSON ne sont pas ordonnés : deux documents qui ne diffèrent que par l'ordre des clés sont donc signalés comme identiques. Si l'ordre des clés compte pour votre consommateur, ce consommateur s'appuie sur quelque chose que JSON ne promet pas.

À alimenter depuis

Ensuite

Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.