Terug naar Tools

JSON vergelijken

Twee JSON-documenten online vergelijken: sleutelvolgorde en inspringing genegeerd, elke toevoeging, verwijdering en wijziging op JSONPath, geen upload

Laatst bijgewerkt
My tools
No tools yet

Laden...

Twee JSON-documenten online vergelijken

  1. 1

    Plak of open beide JSON-documenten

    Zet de twee te vergelijken documenten in het linker- en rechterpaneel, of open een lokaal .json-bestand. De inhoud blijft in je browser en wordt nooit geüpload.

  2. 2

    Lees de gestructureerde verschillenlijst

    De tool normaliseert eerst beide kanten (sleutelvolgorde en inspringing standaard genegeerd) en somt daarna elke toevoeging, verwijdering en wijziging op met JSONPath en beide waarden.

  3. 3

    Controleer in het diff en exporteer

    Klik op een regel in de lijst om naar die plek in het diff te springen en kopieer daarna het diff of download het als .patch-bestand.

Functieoverzicht

Vergelijk twee JSON-documenten online en zie wat er echt is veranderd. Sleutelvolgorde en inspringing worden standaard genegeerd, dus {"a":1,"b":2} en {"b":2,"a":1} gelden als identiek. Naast de weergave naast elkaar krijg je een gestructureerde lijst: elke regel is een JSONPath met de waarde van beide kanten, dus die zegt dat $.data[3].price is veranderd in plaats van «regel 42 is veranderd». Grote gehele getallen en nullen aan het eind zoals in 2.370 blijven byte voor byte bewaard. Alles draait in je browser; er wordt niets geüpload.

Toolbeschrijving

Plak twee JSON-documenten en zie wat er echt is veranderd. Sleutelvolgorde en inspringing worden standaard genegeerd, een gestructureerde lijst meldt toevoegingen, verwijderingen en wijzigingen op JSONPath met beide waarden, weergave naast elkaar en samengevoegd zijn één klik van elkaar, grote gehele getallen behouden hun precisie en alles draait in je browser.

Mogelijkenlijst

  • De JSON-vergelijking negeert standaard sleutelvolgorde en inspringing en meldt alleen echte semantische verschillen
  • Gestructureerde verschillenlijst: toevoegingen, verwijderingen en wijzigingen stuk voor stuk, elk met JSONPath en beide waarden
  • Weergave naast elkaar en samengevoegde weergave; klik op een regel om naar die plek in het diff te springen
  • Opties om de volgorde van array-elementen of hoofdlettergebruik te negeren, en om alleen verschillen of de volledige context te tonen
  • Grote gehele getallen en de nul aan het eind van 2.370 blijven byte voor byte bewaard en worden niet verpest door de getalprecisie van JavaScript
  • Beide kanten kun je plakken, uit een bestand laden of omwisselen; het diff is te kopiëren of als .patch te downloaden
  • Is één kant ongeldig, dan krijg je de exacte regel en kolom in plaats van een kaal «ongeldig formaat»
  • Draait volledig in je browser: geen account, geen advertenties, geen upload

Gerelateerde tools

Veelgestelde vragen

Hoe vergelijk ik twee JSON-bestanden online?
Plak elk document in het linker- en het rechterpaneel; de vergelijking start vanzelf. Verschillen in sleutelvolgorde en inspringing worden standaard genegeerd, dus twee anders opgemaakte documenten met dezelfde gegevens gelden als identiek.
Wat is het verschil tussen een JSON-diff en een gewone tekstvergelijking?
Een tekstvergelijking werkt per regel, ziet een andere sleutelvolgorde of inspringing als wijziging en kan alleen zeggen «regel 42 is veranderd». Een JSON-diff normaliseert eerst de structuur en vergelijkt op pad, dus die wijst $.data[3].price aan en laat zien van welke naar welke waarde.
Telt een andere sleutelvolgorde als verschil?
Standaard niet. {"a":1,"b":2} en {"b":2,"a":1} worden als identiek gemeld. Zet «Sleutelvolgorde negeren» uit in de opties als de volgorde wél moet meetellen.
En als array-elementen in een andere volgorde staan?
Standaard is dat een verschil, want JSON-arrays zijn geordend. Je kunt «Volgorde van array-elementen negeren» aanzetten wanneer je dat nodig hebt; het diff toont dan de hersorteerde canonieke vorm en niet de volgorde die je hebt getypt.
Verliezen grote gehele getallen precisie?
Nee. De vergelijking verplaatst alleen originele tekst en zet JSON nooit om in JavaScript-getallen en terug, dus 9123372036854000123 en de nul aan het eind van 2.370 komen ongewijzigd in het resultaat.
Worden mijn gegevens geüpload en hoe groot mogen de bestanden zijn?
Er wordt niets geüpload: parsen en vergelijken gebeuren in je browser. Per kant geldt een limiet van 2 MB; is het groter, verklein het dan eerst met de JSON-formatter of gebruik een lokale tool.