XML către Convertor JSON
Convertiți datele sau fișierele XML în format JSON instantaneu în browser. Acceptă indentarea personalizată și gestionează structurile imbricate.
Selectați fișierul XML
sau trageți și plasați aici
Convertiți datele sau fișierele XML în format JSON instantaneu în browser. Acceptă indentarea personalizată și gestionează structurile imbricate.
sau trageți și plasați aici
XML și JSON sunt ambele formate de schimb de date, dar provin din epoci diferite ale web-ului. XML, standardizat în 1998, a fost conceput ca un format de marcare auto-descriere cu atribute, spații de nume și validare a schemei. JSON a apărut la începutul anilor 2000 ca un format mai ușor, mai potrivit pentru runtime JavaScript și API-uri moderne. Majoritatea noilor API-uri web vorbesc JSON; multe sisteme mai vechi — servicii SOAP, fluxuri RSS, fișiere de configurare, integrări de întreprindere — încă produc XML. Conversia între ele este una dintre cele mai comune sarcini de interoperabilitate în dezvoltarea modernă.
Conversia nu este perfect fără pierderi, deoarece cele două formate au putere expresivă diferită. XML are atribute (pe care JSON nu le are în mod nativ), face distincție între conținutul text și numele elementelor și acceptă conținut mixt (elementele care conțin atât text, cât și elemente secundare). Modelul simplu de obiect/matrice al JSON nu poate reprezenta direct aceste caracteristici, astfel încât convertorii aplică convenții: atributele devin chei cu prefix @, conținutul text devine o cheie #text și așa mai departe.
Acest convertor analizează XML folosind DOMParser încorporat în browser și parcurge arborele DOM rezultat pentru a produce JSON. Elementele cu același nume de etichetă ca și frații sunt colectate în matrice; atributele intră în chei speciale; spațiile de nume și instrucțiunile de procesare sunt păstrate atunci când sunt prezente. Rezultatul este JSON care poate fi citit de om, care se întoarce în mod rezonabil la XML.
Majoritatea codului de aplicație modern este mai confortabil cu JSON. JavaScript parsează JSON în mod nativ, modulul json al lui Python se află în biblioteca standard și, practic, orice altă limbă are suport echivalent JSON de primă clasă. Procesarea XML necesită importarea bibliotecilor suplimentare și scrierea mai multor standarde. Conversia XML primită în JSON înainte de procesare este adesea cea mai rapidă cale de la fluxul XML extern la structura internă de date.
De asemenea, instrumentele înclină JSON. Înfrumusețatorii JSON, validatorii, validatorii de schemă, limbaje de interogare (jq, JSONPath) și vizualizatorii sunt abundente; echivalentele XML sunt mai puține și adesea mai vechi. Lucrul în JSON deblochează un ecosistem mai bogat de instrumente.
Lipiți XML, obțineți JSON.
DOMParser produce un DOM XML identic cu ceea ce folosește browserul pentru paginile XHTML. Convertorul parcurge acest DOM recursiv. Pentru fiecare element creează un obiect JSON: atributele devin chei prefixate cu @ (de exemplu, @id, @class); elementele copil ale elementului sunt recurse în aceeași structură; conținutul text, atunci când este prezent alături de copii, trăiește sub o cheie #text.
Elementele secundare repetate cu același nume de etichetă sunt colectate într-o matrice JSON. Un singur copil al unui nume dat apare ca valoare de obiect; mai mulți copii apar ca o serie de obiecte. Această convenție funcționează bine în practică, dar înseamnă că forma JSON depinde dacă elementele apar o dată sau de mai multe ori - o imperfecțiune cunoscută a mapării XML-la-JSON.
Spațiile de nume sunt păstrate ca parte a numelor de elemente (prefix:localName). Instrucțiunile de procesare și secțiunile CDATA sunt convertite în conținut text. Declarațiile XML și DOCTYPE-urile sunt eliminate din ieșirea JSON, dar nu afectează datele.