Wordt mijn JSON ergens opgeslagen of geüpload?
Nee. De diff draait volledig in je browser. Niets wordt naar een server gestuurd, gelogd of opgeslagen. Plak een interne API-response of een IAM-beleid en sluit het tabblad; er blijft geen kopie achter. Om dit te verifiëren, open je DevTools, schakel je naar het Network-tabblad en kijk je mee — er zijn geen uitgaande verzoeken wanneer je vergelijkt.
Verschijnt het herschikken van sleutels of het pretty-printen van JSON als een wijziging?
Ja, beide doen dat. Een tekstdiff vergelijkt tekens regel voor regel, dus herformattering, het herschikken van sleutels of witruimteveranderingen verschijnen als verschillen, zelfs als de data identiek is. Klik in beide panelen op de Format-knop om eerst pretty te printen, en de diff richt zich op echte datawijzigingen. Voor een volledig structurele vergelijking die de sleutelvolgorde negeert, sorteer je de sleutels aan beide kanten voordat je vergelijkt.
Maakt de volgorde van sleutels in een JSON-object uit?
Voor objectsleutels niet — de JSON-specificatie zegt dat objecten ongeordend zijn, dus {"a":1,"b":2} en {"b":2,"a":1} stellen dezelfde data voor. Een tekendiff zal de herschikking nog steeds markeren, en daarom is de Format-knop belangrijk. Arrays zijn anders: [1,2,3] en [3,2,1] zijn niet gelijk, omdat de volgorde van een array wel betekenisvol is in JSON.
Waarom is 0.1 + 0.2 niet gelijk aan 0.3 in mijn diff?
Vanwege IEEE 754 floating-point. 0.1 + 0.2 is eigenlijk 0.30000000000000004, en JSON.parse leest getallen als 64-bit floats. Grote gehele getallen lopen tegen dezelfde grens aan: alles boven 2^53 - 1 (9007199254740991) verliest precisie, dus een snowflake ID in Twitter-stijl rondt niet correct af. Als precisie belangrijk is, sla die op als strings.
Kan ik JSON met commentaar of trailing comma's plakken?
Standaard JSON staat geen van beide toe. { "a": 1, } of // comment geeft je een parse-error. Dat is JSON5 of JSONC (het formaat dat VS Code gebruikt voor settings.json), wat een superset is. Verwijder eerst het commentaar en de trailing comma's. Wij volgen bewust de strikte RFC 8259-grammatica, zodat de diff overeenkomt met wat je API daadwerkelijk accepteert.
Hoe groot mag een JSON-bestand zijn voordat het traag wordt?
Tot een paar MB is prima, sub-seconde. Voorbij 10 MB begint de browser het te voelen, voornamelijk omdat het renderen van de diff (niet het berekenen ervan) duur wordt. Voor exports van 50 MB+ filter je beide kanten met jq tot de subtree die je interesseert, en plak je vervolgens dat.
Is het gratis, en moet ik me aanmelden?
Gratis ja, aanmelden nee. Geen account, geen proefperiode, geen limiet op hoe vaak je vergelijkt. Plak je twee JSON-fragmenten en de diff verschijnt meteen. Niets zit achter een login, en de knoppen Copy en Download geven je schone uitvoer, zonder watermerk en zonder ingevoegde opmaak.
Hoe verschilt dit van andere online JSON diff-tools?
De vergelijking draait volledig in je browser, dus je JSON wordt nooit geüpload — veel online JSON diff-sites sturen het eerst naar een server, wat niet kan met een interne API-response of een config met secrets. De highlighting is op tekenniveau met semantische opschoning, niet per hele regel, dus één gewijzigde waarde in een object van 200 regels valt direct op. Er is ook Format, Minify en live validatie.
Kan het twee JSON-bestanden vergelijken in plaats van geplakte tekst?
Ja. Klik op Upload in een van beide panelen en kies een .json-bestand rechtstreeks van schijf — laad je oude package.json links en de nieuwe rechts zonder kopiëren-plakken. Het bestand wordt lokaal in de browser gelezen; het wordt nergens naartoe gestuurd. Druk aan beide kanten op Format en de diff negeert witruimte, en toont alleen de dependency-regels die echt verschoven zijn.
Kan ik meer dan twee JSON-bestanden tegelijk vergelijken?
Niet in één weergave. Het is gebouwd voor twee kanten, origineel en gewijzigd, want dat is een diff. Heb je drie config-versies, vergelijk ze dan in paren — staging tegen prod, dan prod tegen de voorgestelde wijziging. Elk paar geeft je een schoon, gericht resultaat in plaats van een drieweg-merge-weergave die verbergt welk bestand een bepaalde key introduceerde.
Is het veilig om een API-response met tokens of keys te plakken?
Ja. Het parsen, formatteren en diffen gebeuren allemaal op je eigen machine, en niets wordt geüpload, gelogd of opgeslagen. Een geplakte JWT, API key of klantrecord blijft in het tabblad en is weg zodra je het sluit. Om dit te bevestigen, open je de DevTools, kijk je naar het Network-tabblad terwijl je vergelijkt, en zie je nul uitgaande requests met je data.
Kan ChatGPT twee JSON-bestanden vergelijken?
Het kan samenvatten wat er tussen twee JSON-snippets veranderd is, en voor een snelle "wat is hier verschoven?" is dat echt handig. Maar een taalmodel is geen parser. Het kan stilletjes keys herordenen, een waarde diep in een genest object missen, of struikelen over gehele getallen boven 2^53, waar de precisie al verdwenen is. En je plakt de JSON, tokens en al, in een dienst van een derde partij. Voor een exacte vergelijking op tekenniveau die je browser nooit verlaat, haal het eerst door deze tool en geef het korte resultaat dan aan ChatGPT, en vraag om de impact in gewone taal uit te leggen.