Outils JSON

Comparer JSON— Retrouvez les valeurs qui ont changé

Collez les deux documents JSON : le résultat se met à jour après une pause dans la saisie. Désactivez le mode automatique pour comparer manuellement.

Comparer JSON

+ Ajouts: 2− Suppressions: 1Modifications: 7

Mis à jour

1 / 10

Vue en lecture seule : la mise en forme et l’ordre des éléments sont alignés selon les règles de comparaison. Les chemins ignorés sont masqués ; les originaux restent inchangés.

− JSON initial/users/0/id
+ JSON modifié/users/0/id

Chargement de la comparaison…

{
  "users": [
    {
      "id": 1,
      "name": "Ada",
      "role": "reader"
    },
    {
      "id": 2,
      "name": "Lin",
      "role": "editor"
    }
  ],
  "version": 1,
  "updatedAt": "2026-09-01"
}
{
  "users": [
    {
      "id": 2,
      "name": "Lin",
      "role": "admin"
    },
    {
      "id": 1,
      "name": "Ada",
      "role": "reader"
    },
    {
      "id": 3,
      "name": "Sam",
      "role": "reader"
    }
  ],
  "updatedAt": "2026-09-10",
  "active": true
}

Les entrées restent dans cet onglet du navigateur, sans envoi ni stockage persistant.

Détails de la structure (10)
  • Racine
    • users
      • 0
        • Modifications

          JSON initial /users/0/id

          1

          JSON modifié /users/0/id

          2
        • Modifications

          JSON initial /users/0/name

          "Ada"

          JSON modifié /users/0/name

          "Lin"
        • Modifications

          JSON initial /users/0/role

          "reader"

          JSON modifié /users/0/role

          "admin"
      • 1
        • Modifications

          JSON initial /users/1/id

          2

          JSON modifié /users/1/id

          1
        • Modifications

          JSON initial /users/1/name

          "Lin"

          JSON modifié /users/1/name

          "Ada"
        • Modifications

          JSON initial /users/1/role

          "editor"

          JSON modifié /users/1/role

          "reader"
      • Ajouts

        JSON initial

        Absent

        JSON modifié /users/2

        {"id":3,"name":"Sam","role":"reader"}
    • Suppressions

      JSON initial /version

      1

      JSON modifié

      Absent
    • Modifications

      JSON initial /updatedAt

      "2026-09-01"

      JSON modifié /updatedAt

      "2026-09-10"
    • Ajouts

      JSON initial

      Absent

      JSON modifié /active

      true

Après une mise en forme, un fichier de configuration peut sembler entièrement réécrit. La comparaison JSON suit les clés et les valeurs pour retrouver la modification utile parmi ces changements visuels. Comparer JSON par la structure évite de relire chaque ligne réindentée.

Pour comparer deux fichiers JSON issus de réponses API, essayez le diff JSON sur l’exemple fourni. Le passage du mode position au mode clé permet de distinguer une liste réordonnée d’une permission réellement modifiée.

Comparer JSON pour repérer les changements utiles

Retrouver les mêmes objets malgré un nouvel ordre

Une API peut renvoyer les mêmes enregistrements dans un ordre différent. Si chaque objet possède un id unique, la comparaison par clé les associe avant de vérifier leurs champs. Une permission modifiée reste visible sans transformer un simple tri en une série de faux changements. Gardez le mode par position si l’ordre a une signification.

Des symboles identiques relient les fiches réordonnées ; un champ modifié est surligné en orange.

Écarter les champs qui changent à chaque appel

Une nouvelle valeur updatedAt peut détourner l’attention d’un changement de configuration. Excluez /updatedAt pour ignorer ce champ et ses descendants tout en conservant les autres différences. Les exclusions utilisent des chemins JSON Pointer exacts : choisissez uniquement la branche que vous souhaitez écarter.

Deux arbres de données présentent des horodatages estompés et un changement mis en évidence sur une autre branche.

Vérifier les différences en trois étapes

01

Ajouter les deux versions

Collez du JSON valide dans chaque éditeur ou chargez l’exemple pour découvrir l’arbre des résultats. La comparaison automatique actualise le résultat après une pause de saisie.

02

Choisir la correspondance des objets

Gardez les positions pour les listes ordonnées ou choisissez une clé unique telle que id pour les tableaux d’objets. Saisissez les chemins à exclure, comme /updatedAt, un par ligne.

03

Examiner et enregistrer le résultat

Passez à « Voir la comparaison » : les suppressions sont rouges et les ajouts verts. Parcourez les modifications ou ouvrez les détails pour retrouver les chemins d’origine, puis copiez ou téléchargez le rapport.

Examiner les écarts de données

Une arborescence des branches modifiées

Dépliez une branche pour consulter les valeurs avant et après. Chaque écart possède un JSON Pointer. Pour un enregistrement déplacé puis associé par clé, les deux chemins d’index réels restent affichés.

Associer les objets par identifiant

Comparez les tableaux par position quand leur ordre compte, ou par propriété directe telle que id quand les objets représentent des enregistrements. Dans ce second mode, un simple réordonnancement ne produit pas de modification.

Conserver le contexte de la vérification

Le rapport JSON inclut les compteurs et les options utilisées. Les valeurs avant et après y sont des chaînes contenant le JSON source : les grands entiers gardent leurs chiffres lors de la lecture du rapport.

Règles de comparaison

Une syntaxe stricte, des valeurs exactes
Commentaires, virgules finales et clés en double interrompent le traitement. Une chaîne diffère d’un nombre, et null d’une clé absente. Les écritures numériques équivalentes, comme 1 et 1.0, sont égales sans conversion en flottant.
Des identifiants uniques par tableau
La propriété choisie doit être une chaîne ou un nombre unique sur chaque objet. Une clé absente, en double ou un tableau mêlant objets et valeurs simples provoque une erreur. Sans objets, le tableau reste comparé par position. 1 et "1" sont deux identifiants distincts.
Exclure un chemin et ses descendants
Saisissez un JSON Pointer exact par ligne, par exemple /updatedAt. Dans une clé, / devient ~1 et ~ devient ~0. Ni jokers ni JSONPath. En mode clé, un chemin correspondant à l’un des deux index réels exclut la paire de branches.
Un compteur par branche modifiée
L’ajout ou la suppression d’un sous-arbre entier compte pour un écart, comme un changement de type. Aucun déplacement n’est produit. Le fichier exporté est un rapport de lecture, pas un patch RFC 6902 à appliquer. En présence d’une exclusion plus profonde, les conteneurs ajoutés ou supprimés sont détaillés pour ne compter que les enfants non exclus.
Un traitement borné
Chaque entrée accepte 500 000 unités UTF-16, 50 000 nœuds et une profondeur de 100. Un nombre peut contenir 1 000 caractères. Au-delà de 5 000 écarts, aucun rapport partiel n’est livré. L’arbre affiche 100 écarts à la fois ; l’export les contient tous.

Comparer JSON : questions fréquentes

Comment lancer la comparaison de deux documents ?

Collez les deux documents : la comparaison démarre après environ 400 ms sans saisie. Désactivez le mode automatique pour utiliser le bouton Comparer. Un rapport périmé ne peut pas être copié ou téléchargé.

Pourquoi préférer une comparaison structurée au diff texte ?

Un diff texte signale les changements de lignes. Ici, les espaces hors des chaînes et l’ordre des clés sont ignorés ; seuls la présence des champs, leur type et leur valeur comptent.

Le déplacement des clés est-il une modification ?

Non. Deux objets dont les clés sont simplement réordonnées sont considérés comme identiques, même si l’indentation change aussi.

Comment traiter un tableau réordonné ?

Le mode par position signale les valeurs qui ont changé d’index. Pour des objets dotés d’un ID unique, utilisez le mode clé. Les tableaux de valeurs simples restent comparés par position.

La comparaison conserve-t-elle les grands nombres entiers ?

Oui. Les nombres sont conservés sous leur forme source et comparés en décimal exact. Deux grands entiers voisins restent distincts ; le rapport garde leurs valeurs sous forme de chaînes de JSON.

Un résultat de comparaison vous semble incorrect ?

Comparer JSON maintenant

Chargez l’exemple et passez au mode clé pour comparer JSON sans que la liste réordonnée n’apparaisse comme une modification.