JSON Diff Checker
Jämför två JSON-nyttolaster efter struktur, inte efter text: se alla tillagda, borttagna och ändrade nyckel på sin egen väg, helt i din webbläsare.
Resultat
Att klistra in två JSON-dokument i ett vanligt text-diff-verktyg ger nästan alltid fel bild: omformatering, indrag på nytt eller helt enkelt serialisering av objektnycklar i en annan ordning kommer att lysa upp enorma delar av "förändrad" text även när de underliggande data är identiska. En textdiff jämför tecken och rader; den har ingen aning om att {"a":1,"b":2} och {"b":2,"a":1} betyder exakt samma sak.
Det här verktyget analyserar båda ingångarna som JSON först och går sedan rekursivt igenom de två strukturerna på det sätt som data faktiskt formas: objekt jämförs med nyckelnamn och arrayer efter position (indexbaserad array-jämförelse är en avsiktlig, enklare standard här - det finns ingen "behandla denna array som en oordnad uppsättning nycklad av ett id-fält"-läge). Varje skillnad rapporteras på sin egen väg, såsom user.address.city, och klassificeras som tillagd, borttagen eller ändrad, med det gamla och det nya värdet tillsammans så att du aldrig behöver gissa vad som vänt.
Oförändrade vägar är dolda som standard så att en stor nyttolast med en liten förändring inte begraver den i brus, med en växel för att avslöja dem igen när du vill ha hela bilden. Alternativet 'sort keys before comparing' går igenom och listar objektnycklar i kanonisk alfabetisk ordning - ett JSON-objekt har ingen meningsfull nyckelordning till att börja med, så två objekt med samma nycklar och värden i en annan sekvens är samma data, och det här alternativet gör den jämförelsen, och den resulterande listan, explicit och deterministisk. Det är den exakta inställningen bakom de sorterade och API-svar-jämförelseförinställningarna på detta verktyg.
Om du behöver en klassisk sida vid sida raddiff för vanlig text, kod eller annat innehåll som inte är JSON, använd istället det kompletterande verktyget Text Diff – det jämför rad för rad och är det rätta verktyget när blanksteg och formateringsskillnader faktiskt spelar roll. Den här är för JSON specifikt, och som alla verktyg på den här webbplatsen körs den helt i din webbläsare: ingenting du klistrar in laddas någonsin upp någonstans.