Comparaison structurelle de JSON
Comparez deux structures JSON et examinez les ajouts, suppressions et modifications à des chemins explicites, en conservant l’écriture des nombres sans arrondi.
Cette page présente les outils disponibles dans cette langue dans le périmètre actuel. Cela ne signifie pas que tous les outils du site sont traduits dans toutes les langues.
Mode d’emploi
Collez les textes JSON avant et après, puis comparez-les. Examinez le type de changement, le chemin et le texte JSON avant et après chaque changement ; parcourez les pages de l’aperçu si nécessaire. Choisissez de copier le rapport complet ou de le télécharger sous le nom json-diff.json. Modifier une entrée invalide le résultat précédent ; le rapport ne remplace aucune entrée.
Avant : {"n":1,"a":[1,2]} ; après : {"a":[2,1],"n":1.0}. Trois changements apparaissent : /n du texte 1 au texte 1.0, /a/0 de 1 à 2 et /a/1 de 2 à 1. Changer uniquement l’ordre des deux clés de l’objet n’ajoute aucun changement. La clé a/b~c apparaît au chemin /a~1b~0c.
Fonctionnalités prises en charge et limites
L’ordre des clés d’un objet est ignoré, mais les tableaux sont comparés par indice ; aucun déplacement d’éléments ni aucune correspondance d’ensembles n’est déduit. Les nombres sont comparés selon leur écriture originale : 1, 1.0 et 1e0 diffèrent et ne sont jamais convertis en Number. Les chaînes JSON sont décodées pour la comparaison sans normalisation Unicode. Ajouter une branche, la supprimer ou changer son type produit une ligne contenant la branche entière. Un chemin vide désigne la racine ; JSON Pointer échappe ~ en ~0 et / en ~1. Les champs before et after du rapport sont des chaînes contenant du JSON compact, et non des valeurs numériques arrondies. Un champ est omis lorsque ce côté est absent, tandis que JSON null est représenté par la chaîne "null". Le rapport décrit des différences ; ce n’est pas un JSON Patch permettant d’appliquer des modifications. Le traitement reste dans le navigateur, sans exécuter le contenu JSON, l’envoyer ni l’enregistrer ou le copier automatiquement.
Questions fréquentes
Un résultat égal signifie-t-il que les textes sont identiques octet par octet ?
Non. Les espaces hors des chaînes, l’ordre des clés d’un objet et l’écriture des échappements de caractères peuvent différer tout en donnant des valeurs égales selon ces règles. La liste changes est alors vide et le rapport peut toujours être copié ou téléchargé. À l’inverse, une écriture différente d’un nombre ou un ordre différent des éléments d’un tableau constitue une différence, même si le sens semble proche.
Outils associés
Formatage et validation JSON
Mettez en forme, minifiez et validez le JSON en préservant les grands nombres et en refusant les clés en double.
Comparaison des différences entre textes
Comparez le texte original et le texte modifié ligne par ligne, avec les ajouts et suppressions dans un worker local aux ressources limitées.
Convertisseur CSV et JSON
Convertissez localement des tables CSV et JSON en conservant les cellules sous forme de chaînes et en vérifiant les en-têtes et les guillemets.