Ugrás a tartalomhoz
100% helyi

JSON módosítás alkalmazó

RFC 6902 JSON Patch (vagy RFC 7396 merge patch) alkalmazása JSON dokumentumra.

Bemenet
Módosítás (JSON)
Kimenet

JSON módosítás alkalmazó

Illesszen be egy JSON dokumentumot és egy módosítást, az eszköz alkalmazza a módosítást és visszaadja az eredményül kapott dokumentumot. Támogatja az RFC 6902 JSON Patch-et — az összeadás, eltávolítás, csere, mozgatás, másolás és teszt műveletek szabványos tömbjét — és az RFC 7396 JSON Merge Patch-et, az egyszerűbb "csak írja le a kívánt alakzatot" formátumot, amelyet számos REST API használ a PATCH kérésekhez.

Mielőtt bármi futna, a módosítás szerkezeti problémákra vizsgálódik: ismeretlen műveletnév, hiányzó vagy helytelenül formázott "path", hiányzó "value" az add/replace/test esetén, vagy hiányzó "from" a move/copy esetén — mindez azonnal feltárul és a konkrét műveleti indexszel jelenik meg, ahelyett, hogy félúton meghiúsulna. Ha a módosítás átmegy a vizsgálaton, az on-error lehetőség dönti el, mi történik, ha egy operáció még mindig meghiúsul az alkalmazás közben (egy path már nem létezik, egy teszt nem egyezik): álljon meg az első hibánál és tartsa meg, amit már alkalmazott, vagy hagyja ki és folytassa. A lépésenkénti nyomkövetés bekapcsolásával láthatja a dokumentumot az összes operáció után — felbecsülhetetlen, ha egy kilenc lépésből álló módosítás a hatodikon valami váratlanul csinál.

A JSON Pointer útvonalak pontosan követik az RFC 6901-et, beleértve a "-" tömb-hozzáfűzési tokent és a ~0 / ~1 escape-eket a "~" és "/" karakterekhez egy kulcson belül. A move és copy az "from"-mal olvassa a forrást és a "path"-tal írja; a test szerkezetileg összehasonlít, figyelmen kívül hagyva az objektum kulcs sorrendjét. A kimenet olvashatóságra behúzott vagy tömörített lehet az API-hívásba történő beillesztéshez, és az összesítés azt jelenti, hogy hány operáció alkalmazódott, sikertelen volt vagy kihagyták.

Minden helyi a böngészőjében fut — a dokumentum és a módosítás soha nem kerül feltöltésre, így biztonságos a valódi API terhelés vagy konfigurációs fájlok használata. Másolja ki az eredményt, töltse le .txt fájlként, vagy küldje vissza közvetlenül a bemenetbe egy másik módosítás alkalmazásához.

Gyakori kérdések

Mi a különbség a JSON Patch és a JSON Merge Patch között?
A JSON Patch (RFC 6902) műveletek explicit listája — ezt add, ezt remove, ezt move ide — így ki tudja fejezni a pontos változásokat, például egy tömb átrendezését. A JSON Merge Patch (RFC 7396) csupán egy részleges JSON objektum, amely leírja a kívánt alakzatot; a null értékre állított kulcs törli, bármi más felülírja. A merge patch egyszerűbb kézzel írni, de nem tudja kifejezni a tömb szerkesztéseit vagy az "ezt a kulcsot töröld" és "állítsd null értékre" közötti kétértelműséget.
Mi történik, ha egy operáció félúton meghiúsul?
A "megállás az első hibánál" lehetőséggel az alkalmazott operációk maradnak és az többi kihagyódik — az összesítés és nyomkövetés pontosan mutatja, hol állt meg. A "kihagyás és folytatás" lehetőséggel minden operáció megpróbálódik és csak a sikertelenek maradnak ki az eredményből.
Mit csinál valójában a próbafutás?
A próbafutás érvényesíti a módosítást és szimulálja az összes operációt, így az összesítés és nyomkövetés pontosan mutatja, mi történne, de a kimeneti mező továbbra is az eredeti, érintetlen dokumentumot mutatja. Semmi nem "íródik" sehol egy böngészőeszközben — ez a módosítás hatásának előnézete előtt, mielőtt rá bíznád magad.
Érvényesíti a módosítást az alkalmazás előtt?
Igen. Az ismeretlen műveletnév, az érvénytelen JSON Pointer útvonal vagy a hiányzó "value"/"from" mező — mindez az operáció futása előtt megállapítódik, és a hiba a műveleti indexet nevezi meg, hogy megtalálhasd a hosszú módosításban.
A JSON-om feltöltésre kerül valahova?
Nem. A dokumentum és a módosítás teljes egészében a böngészőjében feldolgozódik és soha nem hagyja el az eszközöt.