Pourquoi la comparaison JSON est importante
Lorsqu'une réponse API change entre les versions, lorsqu'un fichier de configuration dérive de sa base de référence, ou lorsqu'une migration de données produit des résultats inattendus, vous devez savoir précisément quels champs ont été ajoutés, supprimés et modifiés. L'inspection visuelle de deux blobs JSON est sujette aux erreurs pour tout document non trivial.
Un diff structurel va au-delà de la simple comparaison ligne par ligne. Il comprend la sémantique JSON : deux objets avec les mêmes clés dans des ordres différents sont considérés comme égaux, un élément de tableau changeant d'indice est signalé comme un déplacement plutôt qu'un suppression+insertion.
JSON Diff est indispensable dans les flux de développement d'API. Lorsqu'un fournisseur d'API tiers pousse un changement cassant, comparer une réponse sauvegardée avant le changement avec une après révèle chaque champ affecté en un coup d'œil.
Comprendre la sortie du diff
Les champs ajoutés sont mis en évidence en vert. Les champs supprimés sont mis en évidence en rouge. Les champs modifiés montrent l'ancienne valeur en rouge et la nouvelle en vert sur des lignes adjacentes.
Les champs inchangés sont affichés en couleur normale avec une opacité réduite. Vous pouvez les masquer entièrement avec le bouton "afficher uniquement les changements", ce qui réduit considérablement le bruit visuel pour les documents profondément imbriqués avec de petits changements.
Les diffs de tableau utilisent un algorithme de sous-séquence commune la plus longue pour correspondre intelligemment aux éléments. Le résultat du diff peut être exporté sous forme de document JSON Patch (RFC 6902).
Ignorer les clés et normaliser avant la comparaison
Certains champs sont censés changer et ne devraient pas polluer le diff — horodatages, ID de requête, jetons de session. L'option "ignorer les clés" vous permet de spécifier une liste de noms de clés à exclure de la comparaison.
Avant le diff, vous pouvez appliquer des étapes de normalisation : trier toutes les clés d'objet alphabétiquement, supprimer les espaces des valeurs de chaîne, normaliser les représentations numériques.
Le résultat du diff peut être exporté sous forme de document JSON Patch (RFC 6902) — une liste lisible par machine d'opérations qui transforme le document de gauche en celui de droite.