Comparateur JSON

Comparez deux documents JSON et visualisez les différences : ajouts, suppressions et modifications.

JSON Original (gauche)
JSON Modifié (droite)

Guide de comparaison JSON

Pourquoi comparer des JSON ?

La comparaison de données JSON est une tâche courante pour les développeurs. Que ce soit pour déboguer une réponse API qui a changé, vérifier les différences entre deux fichiers de configuration, ou auditer les modifications d'un schéma de base de données, un diff JSON visuel est infiniment plus rapide qu'une comparaison manuelle.

Comment fonctionne la comparaison

Notre comparateur analyse la structure arborescente de chaque JSON et compare clé par clé, niveau par niveau. Contrairement à un diff textuel (comme git diff), il comprend la sémantique JSON : l'ordre des clés dans un objet n'affecte pas le résultat, mais l'ordre des éléments dans un tableau est significatif.

Cas d'utilisation

Débogage API

Comparez les réponses de deux endpoints ou de deux versions d'une API pour identifier exactement ce qui a changé dans la structure ou les données retournées.

Configuration

Comparez les fichiers package.json, tsconfig.json ou docker-compose.yml (converti en JSON) entre deux branches ou environnements.

Migrations de données

Vérifiez qu'une migration de données a correctement transformé les documents en comparant un échantillon avant/après.

Tests de régression

Comparez les snapshots de réponses API ou de state Redux pour détecter les régressions dans votre application.

Comparer en ligne de commande

Pour les comparaisons automatisées, vous pouvez utiliser des outils CLI :

  • jq : diff <(jq --sort-keys . a.json) <(jq --sort-keys . b.json) — compare après tri des clés
  • json-diff (npm) : npx json-diff a.json b.json — diff sémantique coloré
  • Python : deepdiff library — comparaison structurelle profonde avec rapport détaillé

Questions fréquentes

L'ordre des clés est-il important dans la comparaison ?

Non. Selon la spécification JSON (RFC 8259), l'ordre des clés dans un objet n'est pas significatif. {"a":1,"b":2} et {"b":2,"a":1} sont considérés comme identiques. En revanche, l'ordre des éléments dans les tableaux JSON est significatif.

Les données sont-elles envoyées à un serveur ?

Non, absolument pas. Toute la comparaison se fait dans votre navigateur en JavaScript. Aucune donnée ne quitte votre machine. Vous pouvez vérifier en coupant votre connexion internet — l'outil continuera de fonctionner.

Comment comparer des JSON avec des tableaux imbriqués ?

Notre comparateur parcourt récursivement toutes les structures imbriquées. Pour les tableaux, il compare les éléments par position (index). Si un tableau a un élément supplémentaire, il sera affiché comme un ajout. Si un élément est manquant, il sera affiché comme une suppression. Pour les objets dans des tableaux, chaque propriété est comparée individuellement.

Puis-je comparer des fichiers JSON volumineux ?

Oui, notre comparateur est optimisé pour gérer des JSON de plusieurs mégaoctets. Le traitement côté client dépend de la puissance de votre appareil, mais la plupart des navigateurs modernes gèrent des fichiers de 5-10 Mo sans problème. Pour des fichiers très volumineux (100 Mo+), préférez un outil CLI comme json-diff.