Naar de inhoud
ToolMug

JSON vergelijken

Bekijk precies wat er is veranderd tussen twee versies van een JSON-configuratie, API-respons of gegevensbestand. Verschillen worden per pad vermeld, zoals $.users[2].email, zodat herordende sleutels en herformattering niet als wijziging verschijnen.

Draait in je browser: niets wat je invoert wordt geüpload

Plak aan beide kanten JSON om ze te vergelijken.

Zo gebruik je het

  1. Plak de oorspronkelijke JSON links en de gewijzigde JSON rechts.
  2. Kies of de volgorde van arrays telt.
  3. Lees de lijst met toegevoegde (+), verwijderde (−) en gewijzigde (~) waarden, of kopieer ze als rapport.

Opties uitgelegd

Vergelijken op positie
Items in arrays worden één voor één vergeleken. Een item aan het begin invoegen verandert daardoor elke volgende positie.
Volgorde negeren
Arrays worden behandeld als ongeordende verzamelingen; alleen items die aan één kant bestaan en niet aan de andere worden gemeld. Nuttig voor lijsten met ID's, tags of records.
Paden
Paden gebruiken JSONPath-notatie: $ is de root, .sleutel een eigenschap, [0] een array-item en ["a b"] een sleutel die geen gewone naam is.

Voorbeeld

Neem deze twee documenten, waarin de sleutels in een andere volgorde staan en sommige waarden verschillen:

{"name": "Ada", "age": 36, "tags": ["x", "y"], "address": {"city": "Rome"}, "first name": "A"}
{"age": 37, "name": "Ada", "tags": ["y", "x"], "address": {"city": "Rome", "zip": "00100"}, "first name": "B", "role": "admin"}

Vergeleken op positie is het resultaat:

Wijziging Pad Voor Na
~ $.age 36 37
~ $.tags[0] “x” “y”
~ $.tags[1] “y” “x”
+ $.address.zip “00100”
~ $["first name"] “A” “B”
+ $.role “admin”

Met Volgorde negeren aan verdwijnen de twee wijzigingen in tags, omdat beide arrays dezelfde twee waarden bevatten. De volgorde van de sleutels heeft in beide modi geen effect. Een waarde die van type verandert, zoals een getal dat een string wordt of een object dat een array wordt, wordt als één wijziging op zijn eigen pad gemeld.

Veelgestelde vragen

Hoe verschilt dit van een tekst-diff?

Een tekst-diff vergelijkt regels, waardoor formattering en volgorde van sleutels als wijzigingen verschijnen. JSON vergelijken parseert beide kanten en vergelijkt de data zelf.

Worden 1 en "1" als gelijk behandeld?

Nee. Een getal en een tekenreeks zijn verschillende JSON-waarden, dus de wijziging wordt met beide waarden gemeld.

Wordt mijn data geüpload?

Nee. Beide documenten worden in je browser vergeleken.

Privacy

Deze tool draait volledig in je browser. Je bestanden en tekst worden op je eigen apparaat verwerkt en nooit naar onze servers geüpload.

Gerelateerde tools