Sammenlign JSON: Find Forskellene Mellem To JSON-filer
Indsæt den oprindelige i A og den nye version i B. Nøglerækkefølge betyder aldrig noget, og arrays kan matches på et ID-felt i stedet for position, så en omsorteret liste ikke drukner dig i falske ændringer.
Sådan Sammenligner Du To JSON-filer
- Indsæt eller upload den oprindelige JSON i A, og den nye version i B.
- Vælg hvordan arrays skal matches — Smart (finder automatisk et ID-felt), Efter position, Ignorér rækkefølge eller Efter nøgle — og angiv stier, der skal ignoreres, fx tidsstempler.
- Klik "Sammenlign" og gennemgå opsummeringen og ændringslisten, og eksportér en JSON Patch eller en rapport.
Funktioner
- Semantisk sammenligning — nøglerækkefølge tæller aldrig som en forskel
- Fire måder at matche arrays på, inkl. match på et automatisk fundet ID, så omsorterede lister ikke giver falske forskelle
- Ignorér stier med wildcards (fx
$..updatedAt) for at springe støjende felter som tidsstempler over - Tolerance for tal, ufølsom for store/små bogstaver og mellemrum, samt valgfri typetvang
- "Sammenlign kun nøgler" til oversættelsesfiler — se præcis hvilke nøgler der mangler på hver side
- Eksportér en standard JSON Patch (RFC 6902), selv-verificeret ved at genanvende den på A og bekræfte, at den er lig B
- Eksportér en Markdown- eller CSV-rapport
- Kører helt i din browser — ingen tilmelding, ingen data sendes nogen steder hen
Hvorfor rækkefølgen af arrays giver falske forskelle
En tekstbaseret diff behandler JSON som tekst, så formatering, nøglerækkefølge og mellemrum bliver til støj. En semantisk diff sammenligner selve dataene i stedet: objekter er ikke-rækkefølgede, så nøglerækkefølge betyder aldrig noget, men arrays er sværere — mange arrays i virkeligheden er lister af poster med et ID (brugere, ordrer, rettigheder), og at sammenligne dem strengt efter position gør én indsat post til dusinvis af "ændrede" linjer. At matche array-elementer på nøgle (eller automatisk via Smart-tilstand) løser det.
Sådan ignorerer du tidsstempler og anden støj
Tilføj et mønster som $..updatedAt under "Ignorér stier" for at springe et felt over, uanset hvor det optræder, eller $.meta.requestId for kun én bestemt sti. Det er nyttigt ved API-regressionstest, hvor tidsstempler og request-ID'er ændrer sig ved hvert kald uden at være reelle forskelle.
JSON Patch, forklaret
JSON Patch (RFC 6902) er en standardliste af operationer — tilføj, fjern, erstat — der omdanner det første dokument til det andet. Eksportér den her, og brug den i din kode, hvor standarden allerede understøttes.
Til at formatere og validere et enkelt JSON-dokument, brug JSON Formatter. Til andre konverteringer af strukturerede data, prøv CSV til SQL eller Base64 Encoder.
Ofte Stillede Spørgsmål
Betyder rækkefølgen af nøgler noget?
{"a":1,"b":2} og {"b":2,"a":1} er ens.Hvordan sammenligner jeg arrays, hvor rækkefølgen er ændret?
id, så en omsorteret liste kun viser reelle ændringer.Kan jeg ignorere felter som tidsstempler?
$..updatedAt under "Ignorér stier".