Hoppa till innehåll
100% lokalt

JSON Patch-tillämpare

Applicera en RFC 6902 JSON Patch (eller RFC 7396 merge patch) på ett JSON-dokument.

Inmatning
Patch (JSON)
Utmatning

JSON Patch-tillämpare

Klistra in ett JSON-dokument och en patch, och det här verktyget applicerar patchen och returnerar det resulterande dokumentet. Det stöder både RFC 6902 JSON Patch — standardmatrisen av add-, remove-, replace-, move-, copy- och test-operationer — och RFC 7396 JSON Merge Patch, det enklare "beskriv bara den form du vill ha"-formatet som används av många REST-API:er för PATCH-begäranden.

Innan något körs valideras patchen för strukturella problem: ett okänt operationsnamn, en saknad eller felaktig "väg", ett saknat "värde" på add/replace/test, eller ett saknat "från" på move/copy fångas all upp i förväg och rapporteras med det exakta operationsindexet, istället för att misslyckas halvvägs. När en patch har passerat denna kontroll bestämmer on-error-alternativet vad som händer om en enskild operation fortfarande misslyckas vid tillämpningstillfället (en väg som inte längre finns, ett test som inte matchar): stoppa vid första fel och behåll det som redan tillämpats, eller hoppa över det och fortsätt. Aktivera steg-för-steg-spårningen för att se dokumentet efter varje enskild operation — ovärderlig när en nio-stegs patch gör något oväntat i steg sex. Provkörning beräknar allt utan att ändra utdata, så du kan kontrollera att en patch är säker innan du litar på den.

JSON-pekarvägar följer RFC 6901 exakt, inklusive "-" token för array-tillägg och ~0 / ~1 escape-sekvenser för "~" och "/" inuti en nyckel. Move och copy läser källan med "från" och skriver med "väg"; test jämför strukturellt och ignorerar ordning på objektnycklar. Utdata kan indenteras för läsbarhet eller komprimeras för att klistras in i ett API-anrop, och sammanfattningen rapporterar hur många operationer som tillämpades, misslyckades eller hoppades över.

Allt körs lokalt i din webbläsare — dokumentet och patchen laddas aldrig upp någonstans, så det är säkert att använda med verkliga API-nyttolaster eller konfigurationsfiler. Kopiera resultatet, ladda ned det som en .txt-fil, eller skicka det direkt tillbaka till inmatningen för att applicera ytterligare en patch.

FAQ

Vad är skillnaden mellan JSON Patch och JSON Merge Patch?
JSON Patch (RFC 6902) är en explicit lista över operationer — lägg till detta, ta bort det, flytta detta här — så det kan uttrycka exakta ändringar som att ordna om en array. JSON Merge Patch (RFC 7396) är bara ett partiellt JSON-objekt som beskriver den önskade formen; en nyckel inställd på null tar bort den, allt annat skriver över den. Merge patch är enklare att skriva för hand men kan inte uttrycka arrayändringar eller "ta bort denna nyckel" kontra "ställ in på null" entydigt.
Vad händer om en operation misslyckas halvvägs?
Med "stoppa vid första fel" förblir redan tillämpade operationer tillämpade och resten hoppas över — sammanfattningen och spårningen visar exakt var det stoppade. Med "hoppa över och fortsätt" försöks varje operation och endast de misslyckade lämnas ut från resultatet.
Vad gör en provkörning egentligen?
Provkörning validerar patchen och simulerar varje operation, så sammanfattningen och spårningen visar exakt vad som skulle hända, men utdatarutan visar fortfarande ditt ursprungliga, oförändrade dokument. Ingenting "skrivs" någonstans i ett webbläsarverktyg — det är ett sätt att förhandsgranska en patchs effekt innan du förlitar dig på den.
Validerar det patchen innan det tillämpas den?
Ja. Ett okänt operationsnamn, en väg som inte är en giltig JSON-pekare, eller ett saknat "värde"/"från" fält fångas alla upp innan någon operation körs, och felet namnger operationsindexet så att du kan hitta den i en lång patch.
Laddas min JSON upp någonstans?
Nej. Både dokumentet och patchen bearbetas helt i din webbläsare och lämnar aldrig din enhet.