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.

Original (A)
Ændret (B)

Sådan Sammenligner Du To JSON-filer

  1. Indsæt eller upload den oprindelige JSON i A, og den nye version i B.
  2. 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.
  3. Klik "Sammenlign" og gennemgå opsummeringen og ændringslisten, og eksportér en JSON Patch eller en rapport.

Funktioner

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? +
Nej. Objekter sammenlignes på nøgle, så {"a":1,"b":2} og {"b":2,"a":1} er ens.
Hvordan sammenligner jeg arrays, hvor rækkefølgen er ændret? +
Brug "Smart" eller "Efter nøgle". Elementer matches på fx id, så en omsorteret liste kun viser reelle ændringer.
Kan jeg ignorere felter som tidsstempler? +
Ja. Tilføj stier som $..updatedAt under "Ignorér stier".
Bliver min JSON uploadet? +
Nej. Begge filer sammenlignes i din browser, og intet sendes til en server.
Hvad er JSON Patch? +
En standard (RFC 6902) med en liste af operationer, der gør det første dokument til det andet. Du kan eksportere den og bruge den i din kode.