Preskoči na vsebino
100% lokalno

JSON Patch uporabnik

Uporabi RFC 6902 JSON Patch (ali RFC 7396 merge patch) na JSON dokument.

Vhod
Patch (JSON)
Izhod

JSON Patch uporabnik

Prilepi JSON dokument in patch, ter bo to orodje uporabilo patch in vrnil dobljeni dokument. Podpira RFC 6902 JSON Patch — standardni niz operacij add, remove, replace, move, copy in test — kot tudi RFC 7396 JSON Merge Patch, preprostejši format »samo opiši obliko, ki ga želiš« ki ga uporabljajo številni REST API-ji za PATCH zahtevke.

Preden se kaj izvršava, je patch preverjenos strukturne napake: neznanо ime operacije, manjkajoči ali napačno oblikovan »path«, manjkajoči »value« na add/replace/test ali manjkajoči »from« na move/copy — vse se preveri naprej in prijavi s točnim indeksom operacije, namesto da ne uspe na sredini. Ko patch prestane to preverjanje, možnost »Ob napaki« odloči, kaj se zgodi, če posamezna operacija vseeno ne uspe ob uporabi (path, ki ne obstaja več, test, ki se ne ujema): zaustavi se pri prvi napaki in obdrži tisto, kar je že uporabljeno, ali preskoči in nadaljuj. Vključi korak za korakom sledenje, da vidiš dokument po vsaki operaciji — neprecenljivo, ko devetstopenjski patch počne kaj nepričakovanega na šestem koraku. Preizkus izračuna vse brez spreminjanja izhoda, tako da lahko preveriš, ali je patch varen, preden se nanj zanašaš.

JSON Pointer poti sledijo RFC 6901 točno, vključno z »-« žetonom za dodajanje v niz in ~0 / ~1 izhodom za »~« in »/« znotraj ključa. Move in copy preberejo vir z »from« in napišejo z »path«; test primerja strukturno, zanemarjajoč vrstni red ključev objekta. Izhod je lahko razmaknjen za berljivost ali stisnjeno za lepljenje nazaj v API klic, pri čemer tally poroči, koliko je operacij uporabljenih, neuspešnih ali preskočenih.

Vse se izvršava lokalno v tvojemu brskalniku — dokument in patch se nikoli ne pošljeta nikamor, zato je varno uporabiti s pravimi API bremeni ali datotekami konfiguracije. Kopiraj rezultat, ga preuzmи kot .txt datoteko ali ga pošlji direktno nazaj v vhod za uporabo drugega patcha na vrh.

FAQ

Kakšna je razlika med JSON Patch in JSON Merge Patch?
JSON Patch (RFC 6902) je jasen seznam operacij — dodaj to, izbriši to, premakni to sem — zato lahko izrazi natančne spremembe, kot je ponovno urejanje niza. JSON Merge Patch (RFC 7396) je le delni JSON objekt, ki opisuje novo obliko; ključ nastavljen na null ga izbriše, vse drugo ga prepiše. Merge patch je enostavnejši za ročno pisanje, vendar ne more izraziti sprememb niza ali jasno razlikovati »izbriši ta ključ« od »nastavi ga na null«.
Kaj se zgodi, če operacija ne uspe na sredini?
S »zaustavi se pri prvi napaki« ostanejo operacije, ki so že uporabljene, uporabljene in ostale preskočene — tally in korak za korakom sledenje pokažeta točno, kje se je ustavilo. S »preskoči in nadaljuj« se vsaka operacija pokusa in samo neuspešne ostanejo zunaj rezultata.
Kaj preizkus dejansko počne?
Preizkus preveri patch in simulira vsako operacijo, zato tally in korak za korakom sledenje pokažeta, kaj bi se zgodilo, vendar polje izhoda še vedno prikazuje tvoj originalni, nespremenjeni dokument. Nič se »ne piše« nikamor v brskalniku — to je način za predogled učinka patcha, preden se nanj zanašaš.
Ali preveri patch pred uporabo?
Da. Neznano ime operacije, path, ki ni veljaven JSON Pointer, ali manjkajoči »value«/»from« — vse se preveri preden se katere koli operacije začnejo, in napaka imenuje indeks operacije, tako da ga lahko najdeš v dolgem patchu.
Ali je moj JSON naložen kjer koli?
Ne. Dokument in patch se obdelata v celoti v tvojem brskalniku in nikoli ne zapustita tvojo napravo.