0

JSON-verschilcontrole

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

Het plakken van twee JSON-documenten in een normale tekst-diff-tool levert bijna altijd het verkeerde beeld op: het opnieuw formatteren, opnieuw inspringen of simpelweg serialiseren van objectsleutels in een andere volgorde zal enorme stukken 'gewijzigde' tekst oplichten, zelfs als de onderliggende gegevens identiek zijn. Een tekstdiff vergelijkt tekens en regels; het heeft geen idee dat {"a":1,"b":2} en {"b":2,"a":1} precies hetzelfde betekenen.

Deze tool parseert beide invoer eerst als JSON en doorloopt vervolgens recursief de twee structuren zoals de gegevens daadwerkelijk zijn gevormd: objecten worden vergeleken op sleutelnaam en arrays op positie (op index gebaseerde array-vergelijking is hier een bewuste, eenvoudigere standaard - er is geen 'behandel deze array als een ongeordende set gecodeerd door een id-veld'-modus). Elk verschil wordt gerapporteerd op zijn eigen pad, zoals gebruiker.adres.stad, en geclassificeerd als toegevoegd, verwijderd of gewijzigd, waarbij de oude en nieuwe waarde samen worden weergegeven, zodat u nooit hoeft te raden wat er is omgedraaid.

Ongewijzigde paden zijn standaard verborgen, zodat een grote lading met één kleine verandering deze niet in ruis begraaft, met een schakelaar om ze weer zichtbaar te maken als je het volledige beeld wilt. De optie 'sleutels sorteren vóór vergelijken' loopt en toont objectsleutels in canonieke alfabetische volgorde - een JSON-object heeft om te beginnen geen betekenisvolle sleutelvolgorde, dus twee objecten met dezelfde sleutels en waarden in een andere volgorde zijn dezelfde gegevens, en deze optie maakt die vergelijking, en de resulterende lijst, expliciet en deterministisch. Het is de exacte instelling achter de gesorteerde en API-responsvergelijkingsvoorinstellingen op deze tool.

Als je een klassieke side-by-side line diff nodig hebt voor platte tekst, code of andere inhoud die geen JSON is, gebruik dan in plaats daarvan de bijbehorende Text Diff-tool. Deze vergelijkt regel voor regel en is de juiste tool als verschillen in witruimte en opmaak er daadwerkelijk toe doen. Deze is specifiek voor JSON, en zoals elke tool op deze site draait deze volledig in je browser: niets dat je plakt, wordt ooit ergens geüpload.