Accueil · Outils gratuits · Comparer deux JSON
Comparer deux fichiers JSON
Collez ou déposez deux documents JSON. Les deux sont analysés avant d’être comparés : l’ordre
des clés et l’indentation ne comptent pas, donc deux exports du même objet ressortent identiques.
Ce qui reste, c’est chaque écart réel avec le chemin où il se trouve — regions[2],
facturation/offre — et la valeur de chaque côté. La liste se télécharge en CSV.
Aucun des deux documents n’est envoyé sur un serveur.
Premier document collez-le, ou déposez un fichier .json
Second document la version à vérifier
Vous faites ça tous les mois ? Faites-le une fois dans TableDI 2, enregistrez-le comme tâche et relancez-le le mois suivant. Télécharger TableDI 2 gratuitement
Rien n’est téléversé. Le fichier est lu par le JavaScript de cet onglet et ne quitte pas votre ordinateur — aucun serveur ne le voit, et fermer l’onglet le jette.
Comparer deux fichiers JSON
- Charger les deux documents. Collez-les, ou déposez un fichier .json sur chaque zone de texte. Ils sont analysés dans cet onglet, sans téléversement.
- Lire les écarts par chemin. Chaque ligne est un écart : son chemin, sa nature (ajouté, supprimé, modifié, type changé) et la valeur des deux côtés.
- Emporter la liste. Téléchargez-la en CSV ou copiez-la pour la coller dans un ticket ou une revue de code.
L’ordre des clés et l’indentation sont de la syntaxe
{"b":1,"a":2} et {"a":2,"b":1} sont le même objet. Presque toutes les
bibliothèques qui réécrivent un JSON changent l’ordre des clés au passage, et un comparateur de
texte ligne à ligne affiche alors tout en rouge pour deux exports du même enregistrement.
Cette page analyse d’abord les deux documents, puis compare les valeurs obtenues. Les clés réordonnées, les espaces et les retours à la ligne ne produisent aucune ligne. Il ne reste que les écarts qui changeraient le comportement de celui qui lit le fichier.
Les tableaux gardent leur ordre, les objets non
Dans un objet JSON, les clés forment un ensemble : leur ordre ne veut rien dire. Dans un tableau,
les éléments forment une suite : l’ordre est le sens. [1,2,3] face à
[3,2,1] donne donc deux positions modifiées. Un élément ajouté en fin de tableau
apparaît comme un seul ajout à chemin[2], pas comme une réécriture de tout ce qui suit.
Chaque écart a une adresse
Le résultat est une liste, pas deux panneaux à parcourir des yeux. Chaque ligne porte le chemin de
l’écart, séparé par des barres obliques, avec les indices de tableau entre crochets :
facturation/regions[2] se colle tel quel dans un ticket et se retrouve à la main dans
le fichier source. Un sous-arbre entier ajouté ou supprimé est résumé en une ligne plutôt que
déversé. L’aperçu affiche les 300 premiers écarts ; le CSV téléchargé les contient tous.
« 12,50 » n’est pas 12.5 : les types sont comparés tels quels
C’est le piège typique des API et des exports conçus en France : un montant sérialisé comme
chaîne mise en forme à la française, "12,50", d’un côté, et comme nombre JSON,
12.5, de l’autre. Les deux s’affichent « pareil » pour un humain ; pour le programme
qui les lit, l’un se calcule et l’autre non. Cette page signale ce cas comme un changement de
type, sans conversion silencieuse.
Même règle pour 5 et "5", pour false et 0,
pour null et une clé absente. Chacun de ces couples est un changement qu’une API
glisse dans une version mineure, et qu’une comparaison permissive cache.
Deux « é » qui ne sont pas le même caractère
Un é peut être écrit comme un seul caractère (U+00E9) ou comme un e
suivi d’un accent combinant (U+0301). À l’écran, rien ne les distingue. Les données copiées depuis
macOS ou certains PDF arrivent souvent sous la seconde forme. Cette page ne normalise pas :
si "Hélène" est écrit de deux façons dans vos deux fichiers, la ligne est signalée
comme modifiée, avec deux valeurs qui ont l’air identiques. C’est voulu — les deux octets diffèrent
réellement, et le programme en aval les verra aussi différents — mais il vaut mieux le savoir
avant de chercher une différence invisible.
Ce que l’outil ne fait pas
- Fusionner. Il liste les écarts ; il ne produit pas de troisième document.
- Apparier les éléments d’un tableau par identifiant. Les tableaux se comparent par position. Si vos deux fichiers contiennent les mêmes enregistrements dans un autre ordre, triez-les d’abord — ou, si les données sont tabulaires, comparer deux CSV apparie les lignes sur une colonne clé.
- Lire le JSON5, les commentaires ou les virgules finales. Seul le JSON standard est accepté ; le reste est signalé comme erreur d’analyse, avec la position fournie par le navigateur.
- Lire un fichier JSON Lines entier. Une ligne égale un document : comparez une ligne, ou transformez d’abord le fichier en tableau.
Quand la même comparaison revient à chaque livraison
Un onglet suffit pour un contrôle ponctuel. TableDI 2 est une application de bureau pour le travail sur fichiers à refaire à chaque période : vos sources, vos règles et votre livraison sont enregistrées dans une tâche, et le mois suivant vous déposez les nouveaux fichiers et vous la relancez. Tout tourne sur votre propre machine.
Questions fréquentes
Comment comparer deux fichiers JSON en ligne sans les envoyer ?
Collez-les ou déposez-les dans les deux zones de cette page. L’analyse et la comparaison sont faites par le JavaScript de l’onglet ; aucune requête ne transporte vos documents.
Pourquoi deux JSON qui semblent différents sont-ils déclarés identiques ?
Parce que leurs différences étaient l’ordre des clés ou la mise en forme, qui ne changent pas le sens du document. Pour une comparaison caractère par caractère, c’est un comparateur de texte qu’il vous faut.
Et pourquoi deux valeurs identiques à l’écran sont-elles signalées comme modifiées ?
Le plus souvent, c’est un accent écrit de deux façons (é précomposé ou e + accent combinant), ou un nombre écrit une fois en chaîne et une fois en nombre. La page compare les valeurs exactes et ne normalise ni l’un ni l’autre.
Peut-on comparer des tableaux d’objets rangés dans un ordre différent ?
Oui, mais par position : l’élément 0 face à l’élément 0, et ainsi de suite. Triez les deux fichiers sur leur identifiant avant de comparer si l’ordre n’a pas de sens pour vous.
Les commentaires et les virgules finales sont-ils acceptés ?
Non, seul le JSON standard l’est. Le message d’erreur reprend celui du navigateur, qui indique en général où l’analyse a échoué.
À voir aussi
Vous faites ça tous les mois ?
Dans TableDI 2, vous le faites une fois, puis vous l’enregistrez comme une tâche. Le mois suivant, vous déposez les nouveaux fichiers et vous la relancez.
macOS, Apple Silicon et Intel ; la version Windows est en préparation (que faire en attendant). La version gratuite n’est pas un essai — ni compte, ni carte.
Dernière relecture le 2026-09-11 par l’équipe TableDI. Une erreur sur cette page ? Écrivez-nous — une seule boîte de réception, lue par ceux qui construisent TableDI.