Preskočiť na obsah

Aplikátor JSON Patch

Aplikujte RFC 6902 JSON Patch (alebo RFC 7396 merge patch) na JSON dokument.

Vstup
Patch (JSON)
Výstup

Aplikátor JSON Patch

Vložte JSON dokument a patch, tento nástroj patch aplikuje a vráti výsledný dokument. Podporuje RFC 6902 JSON Patch — štandardné pole operácií add, remove, replace, move, copy a test — a tiež RFC 7396 JSON Merge Patch, jednoduchší formát "popíšte tvar ktorý chcete" používaný mnohými REST API pre PATCH požiadavky.

Pred spustením sa patch overí na štrukturálne problémy: neznáme meno operácie, chýbajúca alebo malformovaná "path", chýbajúca "value" pri add/replace/test, alebo chýbajúca "from" pri move/copy sa všetko zachytí vopred a hlási sa s presným indexom operácie, namiesto zlyhania v polovici. Keď patch prejde touto kontrolou, možnosť pri chybe rozhoduje čo sa stane ak jednotlivá operácia zlyhá v čase aplikácie (cesta ktorá už neexistuje, test ktorý sa nezhoduje): zastaviť pri prvej chybe a ponechať čo sa už aplikovalo, alebo ju preskočiť a pokračovať. Zapnite krok-za-krokom trace na videnie dokumentu po každej operácii — neoceniteľné keď deväť-krokuový patch robí niečo nečakané v šiestom kroku. Skúšobný beh počíta všetko bez zmeny výstupu, takže si môžete skontrolovať či je patch bezpečný predtým ako mu dôverite.

JSON Pointer cesty nasledujú RFC 6901 presne, vrátane tokenu "-" pre append poľa a escapeov ~0 / ~1 pre "~" a "/" vo vnútri kľúča. Move a copy čítajú zdroj s "from" a píšu s "path"; test porovnáva štrukturálne, ignorujúc poradie kľúčov objektu. Výstup môžete mať odsadený pre čitateľnosť alebo kompaktný na vloženie späť do API volania, a súčet hlási koľko operácií sa aplikovalo, zlyhal alebo bol preskočený.

Všetko beží lokálne vo vašom prehliadači — dokument a patch sa nikdy nikam nenahrávajú, takže je bezpečné používať s reálnymi API payloadmi alebo konfiguračnými súbormi. Skopírujte výsledok, stiahnite ho ako .txt súbor, alebo ho pošlite priamo späť do vstupu na aplikáciu ďalšieho patcha na vrch.

Časté otázky

Aký je rozdiel medzi JSON Patch a JSON Merge Patch?
JSON Patch (RFC 6902) je explicitný zoznam operácií — pridaj toto, odstráň tamto, presuň toto sem — takže môže vyjadriť presné zmeny ako preusporiadanie poľa. JSON Merge Patch (RFC 7396) je len čiastkový JSON objekt opisujúci nový tvar; kľúč nastavený na null ho vymaže, všetko ostatné ho prepíše. Merge patch je jednoduchší na ručné napísanie ale nemôže vyjadriť úpravy poľa alebo "vymaž tento kľúč" versus "nastav ho na null" bez nejasnosti.
Čo sa stane ak operácia zlyhá v polovici?
S "zastaviť pri prvej chybe", operácie ktoré sa už aplikovali zostanú aplikované a zvyšok sa preskočí — súčet a trace ukazujú presne kde sa zastavilo. S "preskočiť a pokračovať", každá operácia sa pokúša a len operácie ktoré zlyhali sa vynechajú z výsledku.
Čo presne robí skúšobný beh?
Skúšobný beh overí patch a simuluje každú operáciu, takže súčet a trace ukazujú presne čo by sa stalo, ale pole výstupu stále zobrazuje váš pôvodný, nezmenenený dokument. Nič nie je "napísané" nikde v prehliadačovom nástroji — je to spôsob ako si pozrieť účinok patcha predtým ako mu dôverite.
Overí to patch pred aplikáciou?
Áno. Neznáme meno operácie, cesta ktorá nie je platný JSON Pointer, alebo chýbajúca "value"/"from" pole sa všetko zachytí pred spustením ktorejkoľvek operácie a chyba pomenúva index operácie aby ste ho mohli nájsť v dlhom patchi.
Ide môj JSON niekam nahrať?
Nie. Dokument aj patch sa spracovávajú úplne vo vašom prehliadači a nikdy neopustia vašu zariadenie.