Utilo

Comparateur JSON

Comparez deux documents JSON de façon structurelle. Ignorez l'ordre des clés et des tableaux, associez les éléments par id et visualisez les champs ajoutés, supprimés, modifiés ou de type différent, avec leurs chemins JSON, dans un arbre repliable.

Ce que fait cet outil JSON diff

Les outils de diff des textes traitent JSON comme des lignes, donc une clé réorganisée ou un fichier reformaté apparaît comme un mur de rouge et de vert. Cet outil compare la structure de deux documents JSON. Il parcourt les deux arbres, rapporte chaque valeur ajoutée, supprimée et modifiée avec son chemin JSON exact, signale les valeurs dont le type ** a changé (un nombre devenu une chaîne est une régression API classique) et affiche le résultat sous forme d'arbre pliable ou d'une liste plate de chemins. La comparaison s'exécute dans un Web Worker, de sorte que les charges utiles de grande taille restent réactives.

Mode d'emploi

  1. Collez le document original dans A et le nouveau dans B.
  2. Lisez les compteurs de synthèse: ajoutés, supprimés, modifiés et changements de type.
  3. Utilisez la vue d'arbre pour étendre uniquement les branches qui diffèrent, ou passez à chemins pour une liste facile à copier comme $.items[2].price.
  4. Activez ignorer l'ordre lorsque les tableaux sont des ensembles (tags, autorisations) plutôt que des listes ordonnées.
  5. Configurez match par clé (par exemple id) pour apparier les éléments du tableau par identité, donc l'insertion d'un élément ne change pas l'apparence de chaque élément suivant.

Utilisations typiques

  • Vérifications de régression API: comparer une réponse de mise en scène et de production après un déploiement.
  • Drift de configuration: différence entre deux configurations d'environnement ou plans JSON de Terraform.
  • ** Test de contrat:** les champs de repérage d'un back-end sont supprimés ou renommés silencieusement.
  • ** Fixtures:** examiner ce qui a changé dans un test instantané avant de l'accepter.

Conseils et cas particuliers

  • L'ordre de la clé d'objet n'a jamais d'importance; les objets JSON sont désorganisés par définition.
  • 1 et 1.0 sont des nombres égaux dans JSON; "1" et 1 sont un changement de type.
  • Avec l'ordre ignoré, les tableaux de primitifs sont comparés comme des multisets, donc les doublons comptent toujours.
  • La correspondance par clé ne s'applique qu'aux tableaux d'objets qui contiennent tous cette clé; les autres tableaux se réfèrent à la comparaison d'index.
  • Un JSON invalide est signalé avec le message d'erreur de l'analyseur pour le côté qui a échoué.

Questions fréquentes

Mes données sont envoyées à un serveur ?

Je ne veux pas. Les deux documents sont analysés et comparés localement dans votre navigateur.

En quoi est-ce différent de l'outil de diff des textes ?

Le texte diff compare les lignes. Cet outil comprend JSON, donc la mise en forme, l'espace blanc et l'ordre des touches ne produisent aucun bruit, et chaque différence est accompagnée d'un chemin.

Puis-je comparer des fichiers très volumineux ?

Les fichiers de plusieurs mégaoctets fonctionnent bien parce que le diff s'écarte du fil principal. L'arbre rend paresseusement que vous élargissez les nœuds.

Qu'est-ce que cela signifie ?

La valeur existe des deux côtés mais son type JSON diffère, par exemple un objet remplacé par un tableau ou null remplacé par une chaîne.

Oui. Tout le traitement s'effectue directement dans votre navigateur grâce à JavaScript, aux Web Workers et aux API Web. Rien de ce que vous saisissez, collez ou importez n'est envoyé à nos serveurs.

Cette page a été traduite automatiquement depuis l'anglais. Si vous repérez une erreur, dites-le-nous.