JSON Diff

Compare two JSON documents structurally: added/removed keys, changed values and type changes with exact paths, ignoring key order.

Original JSON
Glissez un fichier ici
ou cliquez sur le bouton ci-dessous pour choisir un fichier local
.json / .txt / .csv, jusqu'à 10 Mo, analysé uniquement dans le navigateur
New JSON
Glissez un fichier ici
ou cliquez sur le bouton ci-dessous pour choisir un fichier local
.json / .txt / .csv, jusqu'à 10 Mo, analysé uniquement dans le navigateur
Options de comparaison
Result
Saisissez les deux JSON puis cliquez sur Comparer
Tout le traitement se fait dans votre navigateur et les données ne sont jamais envoyées au serveur.

Visualisez en un coup d’œil les ajouts, suppressions, modifications et changements de type

Quelle est la différence entre JSON Diff et une comparaison de texte ?

JSON Diff analyse les deux JSON comme des objets avant de les comparer récursivement. Il signale uniquement les différences de structure et de contenu, avec pour chaque différence le chemin JSONPath, le type de changement et les valeurs avant et après.

L’ordre des clés d’un objet ne crée pas de différence

Une comparaison de texte classique considère {"a":1,"b":2} et {"b":2,"a":1} comme deux contenus différents, car l’ordre des caractères n’est pas le même. Du point de vue sémantique du JSON, ces deux objets sont pourtant équivalents. JSON Diff compare les valeurs à partir des noms de champs et ne signale donc aucun écart lorsque seul l’ordre des clés change.

Les quatre types de différences détectés

Ajout (champ présent dans B mais absent de A), suppression (champ présent dans A mais absent de B), modification de valeur (valeur différente au même chemin) et changement de type (par exemple, le nombre 18 devient la chaîne 18). Les éléments des tableaux sont comparés par index, tandis que les objets et tableaux imbriqués sont comparés récursivement. La liste des différences peut être copiée en texte brut avec les préfixes + / - / ~ / !.

Comment lire la zone de résultats

Le tableau de résultats comporte quatre colonnes : chemin, type, valeur de JSON A et valeur de JSON B. Les chemins utilisent la notation JSONPath, par exemple $.user.name ou $.list[0].id. Un JSON complet des différences est également disponible sous le tableau et regroupe chaque différence dans un tableau structuré, que vous pouvez copier pour identifier les modifications. Les statistiques indiquent le nombre total de différences ainsi que les ajouts, suppressions, modifications et éléments inchangés ; les changements de type sont signalés séparément et ne sont pas fusionnés avec les modifications de valeur.

Les deux options de comparaison

L’option d’ignorer l’ordre des tableaux compare les tableaux comme des ensembles : [1,2] et [2,1] sont alors considérés comme identiques. Elle convient aux listes d’étiquettes ou de permissions dont l’ordre n’a pas d’importance. L’option d’ignorer les espaces en début et en fin de chaîne ignore les espaces et retours à la ligne situés aux extrémités des chaînes. Elle est utile lorsque deux fichiers de configuration diffèrent uniquement par leur formatage. Les options relancent immédiatement la comparaison et ne modifient pas les données saisies.

Comment comparer des fichiers JSON locaux

Passez à l’onglet de téléversement de fichiers, puis faites glisser deux fichiers .json dans les zones prévues à gauche et à droite, ou sélectionnez-les séparément. Les fichiers sont lus localement dans le navigateur avec FileReader. La limite est de 10 Mo par fichier. Dès que les deux côtés sont chargés, la comparaison démarre automatiquement, sans envoyer le contenu des fichiers au serveur.

Causes fréquentes des différences

Le renommage d’un champ d’API apparaît comme une suppression suivie d’un ajout au même emplacement. La modification d’une valeur par défaut apparaît comme une modification de valeur. Le mélange d’un booléen et d’une chaîne, par exemple true et la chaîne true, est détecté comme un changement de type. Une modification de l’ordre des éléments d’un tableau est détaillée élément par élément lorsque l’option d’ignorance de l’ordre n’est pas activée. Commencez par vérifier le chemin, puis le type et enfin la valeur pour identifier la cause. Si les deux données sont identiques, la zone de résultats indique directement qu’aucune différence n’a été trouvée.

JSON Diff ignore-t-il l’ordre des clés d’un objet ?

JSON Diff analyse les deux JSON comme des objets avant de les comparer récursivement. L’ordre des clés d’un objet ne crée donc pas de différence ; seuls les champs ajoutés, supprimés, modifiés ou dont le type change sont signalés.

Chaque différence indique son chemin JSONPath, par exemple $.user.name, afin de retrouver directement le champ concerné dans une réponse d’API ou dans le code.

  • Analyse les JSON avant comparaison : l’ordre des clés d’un objet ne crée pas de différence
  • Détecte les ajouts, suppressions, modifications de valeur et changements de type, avec le chemin JSONPath
  • Les tableaux peuvent être comparés comme des ensembles : [1,2] et [2,1] sont alors identiques
  • La liste des différences peut être copiée en texte brut avec les préfixes + / - / ~ / !
  • Limite de 10 Mo par fichier lors de la comparaison de fichiers, avec comparaison automatique après chargement des deux côtés
  • Traitement entièrement local dans le navigateur, sans envoi des données au serveur
Après avoir modifié une réponse d’API, un fichier de configuration ou d’autres données JSON, utilisez JSON Diff pour localiser précisément les changements avant de poursuivre avec une fusion ou une conversion.
Commentaires 0
Aucun commentaire pour le moment. Soyez le premier à commenter !
avatar
Le contenu du commentaire ne peut pas être vide
0/255