Convertor gratuit

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

Sau

Despre acest instrument

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.

De ce convertiți XML în JSON

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.

Cum se utilizează

Lipiți XML, obțineți JSON.

  1. Lipiți sau încărcați fișierul XML: Lipiți text XML în zona de introducere sau plasați un fișier. XML-ul trebuie să fie bine format; XML malformat produce mai degrabă o eroare de analiză decât o presupunere.
  2. Convertiți: DOMParser construiește un DOM, convertorul parcurge fiecare element și JSON este generat folosind chei de atribut (@attr) și chei de conținut text (#text) acolo unde este necesar. Elementele frate cu același nume devin matrice.
  3. Examinați structura: Inspectați JSON pentru a confirma atributele, textul și imbricarea sunt mapate conform așteptărilor. Convențiile utilizate (de exemplu, @ pentru atribute) sunt vizibile în rezultat.
  4. Descărcați sau copiați: Salvați ca .json sau copiați în clipboard.

Cazuri comune de utilizare

Detalii tehnice

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.

Cele mai bune practici

Întrebări frecvente

Convertirea XML în JSON modifică conținutul?
Conținutul este păstrat cât mai exact posibil. Cu toate acestea, este posibil ca unele caracteristici specifice formatului să nu aibă echivalente directe, astfel încât pot apărea diferențe minore de formatare.
De ce să convertiți datele în format JSON?
JSON este formatul de date standard pentru API-urile web și aplicațiile JavaScript. Este ușor de citit de om, acceptat pe scară largă de limbaje de programare și are o sintaxă mai simplă decât XML.
Convertorul gestionează structuri XML imbricate sau complexe?
Da. Instrumentul analizează corect obiectele imbricate, matricele și toate tipurile de date XML standard, păstrând structura completă a datelor în ieșirea JSON.
Este această conversie sigură și privată?
Da. Toată prelucrarea are loc local în browserul dvs. Datele dvs. nu părăsesc dispozitivul dvs. - nicio încărcare pe server, nicio procesare în cloud, nicio colectare de date.
Sunt tratate secțiunile CDATA?
Da. Conținutul CDATA este convertit în text simplu în ieșirea JSON. Învelișul CDATA în sine nu este păstrat, dar conținutul este.
Sunt datele mele încărcate pe un server?
Nu. DOMParser rulează în browserul dvs.; conversia are loc în întregime pe dispozitivul dvs.
Se va întoarce JSON dus-întors la XML?
Da, dacă utilizați convenția inversă (instrumentul JSON la XML urmează aceleași reguli @attr și #text). Călătoria dus-întors păstrează structura pentru XML tipic; unele cazuri marginale (comanda cu conținut mixt, instrucțiuni de procesare) pot să nu supraviețuiască perfect.
Care este dimensiunea maximă de intrare?
Până la 50 MB. DOMParser este limitat la memorie de browser-ul dvs.; Fișierele XML foarte mari pot încetini sau nu pot analiza.