Besplatni pretvarač

XML u JSON pretvarač

Pretvorite XML podatke ili datoteke u JSON format trenutno u svom pregledniku. Podržava prilagođeno uvlačenje i obrađuje ugniježđene strukture.

Odaberite XML datoteku

ili povucite i ispustite ovdje

Ili

O ovom alatu

XML i JSON su formati za razmjenu podataka, ali dolaze iz različitih razdoblja weba. XML, standardiziran 1998., dizajniran je kao samoopisivi označni format s atributima, prostorima imena i provjerom valjanosti sheme. JSON se pojavio početkom 2000-ih kao lakši format koji je bolje prilagođen JavaScript runtimeima i modernim API-jima. Većina novih web API-ja govori JSON; mnogi stariji sustavi — SOAP usluge, RSS izvori, konfiguracijske datoteke, poslovne integracije — još uvijek proizvode XML. Pretvorba između njih jedan je od najčešćih zadataka interop-a u modernom razvoju.

Pretvorba nije savršeno bez gubitaka jer dva formata imaju različitu izražajnu snagu. XML ima atribute (koje JSON izvorno nema), razlikuje tekstualni sadržaj i nazive elemenata i podržava mješoviti sadržaj (elementi koji sadrže i tekst i podređene elemente). JSON-ov izravni model objekta/niza ne može izravno predstavljati te značajke, pa pretvarači primjenjuju konvencije: atributi postaju ključevi s prefiksom @, tekstualni sadržaj postaje ključ #text itd.

Ovaj pretvarač analizira XML pomoću DOMParsera ugrađenog u preglednik i obilazi rezultirajuće DOM stablo kako bi proizveo JSON. Elementi s istim imenom oznake kao braća i sestre prikupljaju se u nizove; atributi ulaze u posebne ključeve; prostori imena i upute za obradu su sačuvani kada su prisutni. Rezultat je čitljiv JSON koji se razumno vraća u XML.

Zašto pretvoriti XML u JSON

Većina modernih aplikacijskih kodova ugodnija je s JSON-om. JavaScript izvorno analizira JSON, Pythonov json modul nalazi se u standardnoj biblioteci, a gotovo svaki drugi jezik ima ekvivalentnu prvoklasnu JSON podršku. XML obrada zahtijeva uvoz dodatnih biblioteka i pisanje više šablona. Pretvaranje dolaznog XML-a u JSON prije obrade često je najbrži put od vanjskog XML feeda do unutarnje strukture podataka.

Alati se također oslanjaju na JSON. JSON uljepšavači, validatori, validatori shema, upitni jezici (jq, JSONPath) i preglednici su u izobilju; XML ekvivalenti su manje i često su stariji. Rad u JSON-u otključava bogatiji ekosustav alata.

Kako koristiti

Zalijepite XML, nabavite JSON.

  1. Zalijepite ili prenesite svoj XML: Zalijepite XML tekst u područje unosa ili ispustite datoteku. XML mora biti dobro oblikovan; neispravan XML proizvodi pogrešku analize umjesto nagađanja.
  2. pretvoriti: DOMParser izrađuje DOM, pretvarač obilazi svaki element, a JSON se generira pomoću ključeva atributa (@attr) i ključeva tekstualnog sadržaja (#text) gdje je to potrebno. Srodni elementi s istim imenom postaju nizovi.
  3. Pregledajte strukturu: Pregledajte JSON kako biste potvrdili da su atributi, tekst i gniježđenje mapirani prema očekivanjima. Upotrijebljene konvencije (npr. @ za atribute) vidljive su u izlazu.
  4. Preuzmite ili kopirajte: Spremite kao .json ili kopirajte u međuspremnik.

Uobičajeni slučajevi upotrebe

Tehnički detalji

DOMParser proizvodi XML DOM identičan onome što preglednik koristi za XHTML stranice. Pretvarač hoda ovim DOM-om rekurzivno. Za svaki element stvara JSON objekt: atributi postaju ključevi s prefiksom @ (npr. @id, @class); podređeni elementi elementa se rekurziraju u istu strukturu; tekstualni sadržaj, kada je prisutan uz djecu, živi pod ključem #text.

Ponovljeni podređeni elementi s istim nazivom oznake skupljaju se u JSON polje. Jedno dijete zadanog imena pojavljuje se kao vrijednost objekta; više djece pojavljuje se kao niz objekata. Ova konvencija dobro funkcionira u praksi, ali znači da JSON oblik ovisi o tome hoće li se elementi pojaviti jednom ili više puta — što je poznata nesavršenost XML-u-JSON mapiranja.

Prostori imena su sačuvani kao dio imena elemenata (prefiks:localName). Upute za obradu i odjeljci CDATA pretvaraju se u tekstualni sadržaj. XML deklaracije i DOCTYPE uklanjaju se iz JSON izlaza, ali ne utječu na podatke.

Najbolji primjeri iz prakse

Često postavljana pitanja

Mijenja li se sadržaj pretvaranjem XML-a u JSON?
Sadržaj je sačuvan što je točnije moguće. Međutim, neke značajke specifične za format možda nemaju izravne ekvivalente, pa se mogu pojaviti manje razlike u formatiranju.
Zašto pretvoriti podatke u JSON format?
JSON je standardni format podataka za web API-je i JavaScript aplikacije. Čitljiv je čovjeku, široko ga podržavaju programski jezici i ima jednostavniju sintaksu od XML-a.
Obrađuje li pretvarač ugniježđene ili složene XML strukture?
da Alat ispravno analizira ugniježđene objekte, nizove i sve standardne XML vrste podataka, čuvajući punu strukturu podataka u JSON izlazu.
Je li ova konverzija sigurna i privatna?
da Sva se obrada odvija lokalno u vašem pregledniku. Vaši podaci nikada ne napuštaju vaš uređaj — nema prijenosa na poslužitelj, nema obrade u oblaku, nema prikupljanja podataka.
Obrađuju li se CDATA odjeljci?
da CDATA sadržaj se pretvara u običan tekst u JSON izlazu. Sam CDATA omot nije sačuvan, ali sadržaj jest.
Jesu li moji podaci učitani na poslužitelj?
Ne. DOMParser radi u vašem pregledniku; pretvorba se u potpunosti događa na vašem uređaju.
Hoće li se JSON povratno vratiti na XML?
Da ako koristite inverznu konvenciju (alat JSON u XML slijedi ista pravila @attr i #text). Povratno putovanje čuva strukturu za tipični XML; neki rubni slučajevi (redoslijed mješovitog sadržaja, upute za obradu) možda neće savršeno preživjeti.
Koja je najveća veličina unosa?
Do 50 MB. DOMParser je memorijski ograničen vašim preglednikom; vrlo velike XML datoteke mogu usporiti ili se ne mogu analizirati.