0

JSON-verschil met gesorteerde sleutels: negeer de sleutelvolgorde

Vergelijk twee JSON-payloads op structuur, niet op tekst: bekijk elke toegevoegde, verwijderde en gewijzigde sleutel op zijn eigen pad, volledig in uw browser.

Verwerken... 0%

Resultaat

Deze pagina opent de JSON-diff-checker met 'sleutels sorteren alvorens te vergelijken' al ingeschakeld, geladen met een klein voorbeeld: hetzelfde persoonsrecord twee keer geschreven met de sleutels in een andere volgorde. Kijk naar het resultaat en je zult nul verschillen zien, precies zoals het zou moeten zijn: het opnieuw ordenen van sleutels verandert niets aan wat een JSON-object betekent.

Een JSON-object is per definitie een ongeordende verzameling sleutel-waardeparen. {"id":1,"name":Ada"} en {"name":Ada", "id":1} beschrijven exact dezelfde gegevens. Maar een naïeve vergelijking (bijvoorbeeld het plakken van beide payloads, mooi afgedrukt, in een op gewone regels gebaseerde tekstdiff) zal bijna elke regel als veranderd markeren op het moment dat de serialisator van de ene kant besloot velden in een andere volgorde uit te zenden, omdat een tekstdiff alleen maar tekens en regels vergelijkt, en nooit betekenis.

Deze tool vermijdt die valkuil door de sleutels van elk object op naam te laten lopen in plaats van op positie, dus de volgorde van de sleutels zou hem nooit voor de gek houden - sorteren maakt die garantie alleen maar zichtbaar en geeft je een overzichtelijke, alfabetisch geordende lijst waar je de verschillen tegen kunt aflezen. Bewerk een van beide tekstgebieden en bekijk de diff-update live; als u klaar bent, vergelijkt u hier uw eigen twee JSON-documenten in plaats van het voorbeeld.