JSON za XML pretvarač
Trenutačno pretvorite JSON u XML. Podržava prilagođene korijenske oznake i uvlake za čist, strukturiran izlaz.
Trenutačno pretvorite JSON u XML. Podržava prilagođene korijenske oznake i uvlake za čist, strukturiran izlaz.
Pretvaranje JSON-a u XML obrnuto je od uobičajenog smjera XML-u-JSON. Konverzija je jednostavna u duhu — pretvorite svaki JSON objekt u XML element, svaki ključ u podređenu oznaku, svaku vrijednost u tekst elementa — ali XML nameće strukturna pravila koja JSON nema. Ključevi s posebnim znakovima ne mogu postati nazivi elemenata; nizovi trebaju dosljednu reprezentaciju; vrijednosti koje su objekti trebaju vlastitu ugniježđenu strukturu.
Ovaj pretvarač koristi konvenciju sličnu onoj koju slijedi većina XML-u-JSON alata: ključevi s prefiksom @ postaju atributi nadređenog elementa; ključ pod nazivom #text daje tekstualni sadržaj elementa; nizovi proizvode ponovljene elemente s istim imenom. Slijedeći ovu konvenciju, povratno putovanje ostaje dosljedno ako ste izvorno proizveli JSON iz XML-a.
Izlazni XML je dobro oblikovan konstrukcijom: svaki element je ispravno zatvoren, vrijednosti atributa su zaštićene navodnicima, a tekstualni sadržaj je zaštićen za posebne znakove XML-a (&, <, >). Rezultat se čisto otvara u bilo kojem XML parseru, validatoru ili alatu koji koristi XML.
Mnogi etablirani sustavi još uvijek očekuju XML čak i kada njihovi unosi dolaze iz modernih cjevovoda za proizvodnju JSON-a. SOAP usluge, poslovne integracije, RSS izdavači, podnošenje državnih podataka i dugačak rep naslijeđenog softvera prihvaćaju XML i odbijaju JSON. Pretvorba povezuje moderne proizvođače s naslijeđenim potrošačima.
XML također podržava značajke koje JSON izvorno nema — prostore imena, sheme (XSD), upute za obradu i jaku tradiciju formalne provjere valjanosti. Za sustave u kojima su ove značajke važne (XML potpisi, formalno potvrđena razmjena podataka, složena ograničenja sheme), generiranje XML izlaza ostaje pravi izbor.
Zalijepite JSON, uzmite XML.
Pretvarač rekurzivno šeta JSON vrijednošću. Objekti postaju elementi; za svaki ključ u objektu, prefiks @ znači da se ključ pretvara u atribut na nadređenom elementu, # text daje tekstualni sadržaj elementa, a obični ključevi postaju podređeni elementi s vrijednošću koja se vraća u istu konverziju.
Nizovi se pretvaraju u ponovljene srodne elemente. Niz pod ključnim stavkama u JSON-u proizvodi jedan element <items> po stavci niza u roditelju. Ovo odgovara načinu na koji pretvarači XML-a u JSON predstavljaju zbirke od više elemenata.
Imena elemenata koja bi bila nevažeća u XML-u (sadrže razmake, posebne znakove ili počinju znamenkama) se čiste: razmaci postaju podvlake, nevažeći znakovi se uklanjaju, a imena koja počinju znamenkama stavljaju se u prefiks. Vrijednosti atributa i teksta su zaštićene XML-om (& postaje &, < postaje < itd.) kako bi izlaz bio dobro oblikovan.