Conversie XML în JSON Extensible Markup Language ↔ JavaScript Object Notation Gratuit Online Sigur
Lăsați un fișier XML și luați JSON. E citit și scris aici, în browserul dumneavoastră, deci fișierul nu pleacă de pe dispozitiv — iar ce păstrează trecerea și ce nu are cum scrie mai jos, nu vă lăsăm să descoperiți singur.
Convertiți fișierul
Lăsați aici un fișier XML, sau alegeți unul.
Fișierul nu pleacă de pe acest dispozitiv. Totul rulează în browserul dvs.
Nu se încarcă nimic
Conversie din XML
Conversie în XML
De unde vin aceste formate
CSV e cel mai vechi și cel mai puțin standardizat: un tabel scris ca rânduri de text, folosit din anii '70 și descris în scris abia în 2005, când fiecare program hotărâse deja singur care e separatorul și când se pun ghilimelele. XML a crescut din SGML în 1998, pentru documente care trebuie să poarte o structură strictă și să fie verificate după o schemă. JSON a fost scos din JavaScript de Douglas Crockford pe la 2001, redus anume la obiecte, liste, numere și șiruri — iar acel minimalism e motivul pentru care a cucerit web-ul. YAML e vărul lui citibil, unde indentarea face treaba pe care în altă parte o fac parantezele. Un singur lucru contează la conversia dintre ele: CSV e plat, o rețea de rânduri și coloane, pe când JSON, XML și YAML sunt arbori.
Unde le întâlniți
CSV e ce exportă o foaie de calcul și ce vă dă un contabil, o platformă de magazin sau un extras de cont. JSON e ce vorbesc serviciile web și în ce se scriu tot mai des fișierele de configurare. XML supraviețuiește în sistemele mai vechi din companii, în standardele de facturare și chiar înăuntrul formatelor de birou. YAML e acolo unde oamenii își scriu setările de mână. Conversia dintre ele e munca zilnică de a muta datele de unde au fost produse acolo unde sunt necesare.
Întrebări frecvente
CSV-ul meu s-a deschis într-o singură coloană în Excel. De ce?
Fiindcă foaia de calcul aștepta alt separator. Excel urmează separatorul de listă din setările regionale ale calculatorului, iar acela e punctul și virgula oriunde virgula e deja semn zecimal — adică în cea mai mare parte a Europei continentale. Un fișier separat prin virgule arată atunci ca o singură coloană de text. Folosiți fereastra de import și spuneți explicit care e separatorul, în loc să deschideți fișierul cu două clicuri. Din aceeași setare regională vine și faptul că 3.5 ajunge uneori o dată calendaristică.
De ce nu poate deveni JSON-ul meu îmbricat o foaie de calcul curată?
Fiindcă o foaie de calcul e plată, iar JSON e un arbore. Un rând poate ține o valoare pe coloană; un obiect JSON poate ține o listă înăuntrul unui câmp dinăuntrul altei liste. Conversia înseamnă să alegeți cum turtiți asta: fie lipind numele îmbricate într-un singur antet lung de coloană, fie repetând rândul-părinte o dată pentru fiecare copil. Amândouă sunt compromisuri și niciunul nu poate fi desfăcut automat — de aceea întoarcerea de la foaia de calcul la forma originală are nevoie, de obicei, de o hotărâre omenească.
Pierde fișierul din calitate?
Depinde de ce pot ține cele două formate. Conversia între formate care păstrează același lucru — un PNG într-un BMP, un WAV într-un FLAC — nu pierde nimic. Conversia într-un format care aruncă informație ca să câștige spațiu, cum e JPEG sau MP3, pierde puțin de fiecare dată, iar întoarcerea înapoi n-o aduce înapoi. Acolo unde există o alegere, pagina aceasta înclină spre păstrarea calității originale, nu spre fișierul cel mai mic.
Se încarcă fișierul meu undeva?
Nu. Conversia se face înăuntrul browserului dumneavoastră, pe calculatorul dumneavoastră; fișierul nu pleacă de acolo și nici n-are unde — nu există aici niciun server care să-l primească. De aceea un fișier mare e limitat de memoria dumneavoastră, nu de o încărcare; și de aceea nimic din ce convertiți nu poate apărea în jurnalele cuiva — nici în ale noastre. Uneltele de sunet și de film își aduc totuși motorul de conversie de pe acest site la prima folosire — vreo treizeci de megaocteți, o singură dată; după aceea lucrul se face tot pe calculatorul dumneavoastră.
De ce convertesc oamenii XML în JSON
XML este bătrânul înțelept al datelor structurate. De mai bine de douăzeci de ani poartă fișiere de configurare, fluxuri de produse, facturi, hărți de site, fluxuri de știri, exporturi din programele de contabilitate și răspunsurile serviciilor web mai vechi. Este precis și prolix, scris în etichete care se deschid și se închid. JSON este rivalul lui mai tânăr: mai ușor, mai ușor de citit și limba firească a codului web modern, unde un program îl poate folosi aproape fără pregătire. Când un flux sau un export sosește ca XML, iar ceea ce îl va folosi vorbește JSON, este nevoie de o conversie. De aceea convertesc oamenii XML în JSON: au datele în forma mai veche, iar uneltele noi o vor pe cea mai nouă.
Situațiile sunt obișnuite. Un dezvoltator care trebuie să citească răspunsul unui serviciu mai vechi într-un script modern. Un patron de magazin care are un flux de produse în XML și o platformă care importă JSON. Un analist de date care vrea să se uite la un export mare într-un instrument ce se descurcă cu JSON. Un student care trebuie să dea sens unui fișier plin de paranteze unghiulare. În fiecare caz informația este acolo, iar ce lipsește este doar o formă mai comodă.
Această pagină convertește XML în JSON în browserul dumneavoastră. Fișierul este citit și scris aici, deci nu vă părăsește niciodată dispozitivul, ceea ce contează pentru facturi, date despre clienți și orice altceva privat. Iar pagina vă spune dinainte ce păstrează trecerea și ce nu poate, în loc să vă lase să descoperiți singur. XML ține o idee pentru care JSON nu are cuvânt, iar înțelegerea ei vă va scuti de surprize. Mai jos găsiți cum funcționează conversia și la ce să vă așteptați.
Cum funcționează conversia
Elementele devin chei, imbricarea devine imbricare
XML-ul dumneavoastră este citit în interiorul browserului. Numele elementelor devin chei, iar elementele din interiorul elementelor devin obiecte în interiorul obiectelor, deci imbricarea XML-ului este imbricarea JSON-ului. Structura pe care o vedeți în etichete este structura pe care o primiți în acolade.
Atributele își păstrează numele cu un @
Elementele XML pot purta atribute, mici bucăți de date scrise în interiorul etichetei de deschidere. JSON nu are atribute, deci fiecare este păstrat ca o cheie proprie, cu un @ în fața numelui. Un element precum o carte cu un atribut id va da o cheie @id lângă cheile copiilor săi. @ face clar care chei provin din atribute și care din elemente.
Text lângă elemente-copil
Textul care împarte un element cu elemente-copil este păstrat sub #text, pentru că nu mai este altundeva unde să fie pus. Este rar în fișierele de date și obișnuit în documentele care amestecă proza cu marcajul. Cheia #text ține textul, iar celelalte chei îi țin pe copii.
Ce se păstrează
Numele elementelor, imbricarea, atributele și textul
Numele elementelor, imbricarea lor, atributele lor și textul lor se păstrează toate. Informația din date se află în JSON, într-o formă pe care programele o pot parcurge.
Ordinea a ceea ce apare o dată
Elementele păstrează ordinea în care au fost scrise atunci când sunt diferite, deci o înregistrare care enumeră un titlu, un autor și o dată le arată în această ordine.
Textul exact
Textul fiecărui element se păstrează așa cum a fost scris, inclusiv spațiile din interiorul lui și literele cu accente, simbolurile și caracterele din alte alfabete.
Ce trebuie să știți înainte să convertiți XML în JSON
Numele repetate devin un tablou
XML ține o idee pentru care JSON nu are cuvânt: elementele sunt ordonate și se pot repeta. Un nume care apare o dată devine o valoare, iar un nume care apare de două ori devine un tablou. Astfel o listă cu trei elemente item devine un tablou de trei, dar o listă cu un singur item devine doar o valoare, nu un tablou de unul. Asta înseamnă că citirea rezultatului înapoi nu dă mereu același XML. Un program care citește JSON-ul trebuie să fie pregătit pentru ambele forme acolo unde o listă poate fi scurtă.
Comentariile, instrucțiunile de procesare și declarația sunt aruncate
Comentariile, instrucțiunile de procesare și declarația XML nu fac parte din date și nu trec. Nota pe care un dezvoltator a lăsat-o într-un comentariu, rândul de sus care indică versiunea și codificarea și instrucțiunile menite unui anumit program dispar. Datele însele rămân.
Totul este text
XML nu are tipuri: fiecare valoare din etichete este text. Numerele, datele și indicatorii din XML-ul dumneavoastră sosesc ca textul care a fost scris. Programul care citește JSON-ul ar trebui să le interpreteze după nevoile lui.
Cum să convertiți XML în JSON aici
Adăugați fișierul
Trageți fișierul XML pe pagină sau alegeți-l de pe dispozitiv. Este citit în interiorul browserului și nu este încărcat.
Convertiți
Apăsați butonul. Un fișier de mărime obișnuită durează o clipă. Lăsați pagina deschisă până se termină.
Descărcați și verificați
Descărcați JSON-ul și deschideți-l într-un editor de text. Priviți începutul și sfârșitul și verificați că cheile sunt numele pe care le așteptați și că atributele poartă @-ul lor.
O privire mai atentă asupra XML și JSON
Două feluri de a scrie un arbore
Atât XML, cât și JSON descriu un arbore de valori. XML îl scrie cu etichete care se deschid și se închid și permite atribute și conținut mixt. JSON îl scrie cu acolade și paranteze drepte și cunoaște doar obiecte, liste, șiruri, numere, valori booleene și null. Se suprapun bine pentru date, cum ar fi înregistrările și setările, și se suprapun slab pentru documente, cum ar fi o pagină web sau o carte, unde textul și marcajul sunt întrețesute.
De ce dus-întorsul nu este garantat
Trecerea de la XML la JSON pierde puțin: ordinea elementelor mixte repetate, comentariile și distincția dintre un atribut și un element, care se păstrează doar prin @. La întoarcere, s-ar putea deci să nu obțineți exact același XML. Pentru schimbul de date, asta contează rareori. Pentru documente, contează, și este mai bine să păstrați XML-ul ca exemplar-matcă.
Spații de nume
Numele XML pot purta un prefix care le plasează într-un spațiu de nume, cum ar fi un vocabular al unui anumit standard. Asemenea nume se păstrează așa cum sunt scrise, cu prefix cu tot, deci o cheie poate arăta dc:title. Ele nu sunt rezolvate și nici rescrise.
Situații obișnuite în detaliu
Fluxuri de produse și cataloage
Furnizorii și piețele online oferă adesea fluxuri în XML. Ca să le folosiți într-un script modern sau să le importați într-o platformă care ia JSON, convertiți XML în JSON și citiți rezultatul.
Servicii web mai vechi
Serviciile construite în epoca SOAP și a primelor API-uri răspund în XML. Un script care vrea să folosească răspunsul lor poate lucra cu JSON, care este mai ușor de manevrat.
Fișiere de configurare și de setări
Multe programe își stochează setările ca XML. Convertirea unui fișier în JSON vă lasă să-l citiți într-un instrument făcut pentru JSON, să comparați două versiuni sau să-l dați unui script.
Fluxuri, hărți de site și exporturi
Fluxurile de știri, hărțile de site și exporturile din programele de contabilitate sau de stocuri sunt XML. O conversie vă dă o formă mai ușor de căutat și de încărcat în cod.
Sfaturi practice înainte să convertiți XML în JSON
Verificați că XML-ul este bine format
Fiecare etichetă trebuie să se închidă, iar fișierul trebuie să aibă un singur element rădăcină. Dacă pagina raportează o eroare, deschideți fișierul într-un editor care evidențiază problemele XML și corectați rândul spre care indică.
Aflați unde listele pot fi scurte
Dacă XML-ul dumneavoastră are liste, rețineți că o listă cu o singură intrare va deveni o valoare și nu un tablou de unul. Planificați codul care citește JSON-ul să trateze ambele cazuri.
Hotărâți ce faceți cu atributele
Atributele sosesc ca chei cu @. Dacă programul dumneavoastră le așteaptă sub alte nume, redenumiți-le după conversie sau ajustați programul.
Fișiere mari
Totul rulează pe dispozitivul dumneavoastră, deci un fișier foarte mare are nevoie de memorie. Pentru fișiere de multe megaocteți, folosiți un calculator și împărțiți datele dacă pagina se chinuie.
Întrebări pe care și le pun oamenii înainte de conversie
De ce o listă este un tablou și alta o singură valoare?
Pentru că un nume care apare o dată devine o valoare, iar un nume care apare de două ori devine un tablou. O listă cu o intrare arată ca o singură valoare.
Unde au dispărut atributele mele?
Sunt chei cu un @ în fața numelui, lângă cheile elementelor-copil.
Unde este textul care stă lângă alte elemente?
Sub cheia #text, pentru că nu mai este altundeva unde să fie pus.
De ce au dispărut comentariile mele?
Comentariile, instrucțiunile de procesare și declarația XML nu fac parte din date și nu trec.
Se încarcă fișierul meu?
Nu. Conversia rulează în browserul dumneavoastră, iar fișierul nu vă părăsește niciodată dispozitivul.
Pot să mă întorc la XML?
Da. JSON în XML scrie un arbore înapoi ca XML, deși dus-întorsul nu este garantat identic.
Alegerea înțeleaptă când convertiți XML în JSON
JSON, YAML sau un tabel?
JSON se potrivește programelor. Pentru o configurare pe care oamenii o editează, JSON în YAML se citește mai confortabil după conversie. Dacă XML-ul este de fapt un tabel de înregistrări uniforme, puteți urma cu JSON în CSV sau JSON în XLSX.
Păstrați XML-ul
XML-ul este exemplarul-matcă. Păstrează comentariile, declarația și ordinea exactă. Păstrați-l și tratați JSON-ul ca pe o copie comodă.
Gândiți-vă la consumator
Priviți ce va citi JSON-ul și potriviți munca după el. Un script care așteaptă o structură fixă este mai ușor de scris dacă XML-ul este regulat.
Obținerea unui rezultat bun după conversie
Validați JSON-ul într-un vizualizator
Deschideți rezultatul într-un editor care înțelege JSON și restrângeți obiectele. Dacă structura arată cum vă așteptați, este sănătoasă.
Comparați câteva înregistrări cu sursa
Luați câteva înregistrări din mijloc și verificați-le față de XML. Durează un minut și vă spune că conversia este fidelă.
Minificați pentru publicare
Dacă fișierul va fi încărcat de o pagină web și este mare, există instrumente care elimină spațiile și îl fac mai ușor. Datele rămân aceleași.
Pregătirea XML-ului ca să se convertească bine
Păstrați structura regulată
Când convertiți XML în JSON, datele regulate se convertesc cel mai bine: aceleași elemente în aceleași locuri, cu listele scrise mereu ca elemente repetate. Fișierele neregulate produc JSON neregulat, iar programul care îl citește trebuie să facă față.
Evitați amestecul de text și elemente unde puteți
Textul de lângă elementele-copil merge sub #text. Este corect, dar face rezultatul mai greu de folosit. Pentru date, țineți textul în frunze, nu între ramuri.
Testați mai întâi cu o bucată mică
Dacă fișierul dumneavoastră este mare, luați primele înregistrări într-un fișier de test și convertiți-l pe acela. O privire rapidă la rezultat arată dacă forma este cea pe care o așteptați.
Citirea JSON-ului după ce convertiți XML în JSON
Parcurgeți structura, nu o ghiciți
Forma rezultatului oglindește forma XML-ului, deci cea mai bună cale de a o înțelege este să le deschideți pe amândouă alăturat. Găsiți elementul rădăcină, care devine cheia de nivel superior, și urmăriți o înregistrare în jos până la frunzele ei. După ce convertiți XML în JSON, această plimbare de zece minute economisește ore de încercări în cod.
Scrieți cod defensiv pentru liste
Pentru că o singură intrare este o valoare, iar mai multe intrări sunt un tablou, cel mai sigur obicei este să împachetați ce citiți: dacă nu este tablou, puneți-l într-unul. Un rând de cod la începutul cititorului face restul simplu, iar programul dumneavoastră nu se mai strică în ziua în care un flux conține un singur produs.
Manevrați atributele cu grijă
Cheile care încep cu @ sunt atribute. Unele instrumente nu agreează asemenea nume ca nume de proprietăți, deci puteți prefera să le redenumiți la încărcare. Înțelesul rămâne același; se schimbă doar eticheta.
Nu editați JSON-ul în loc de sursă
Când datele se schimbă, schimbați XML-ul la sursă sau cereți sistemului să producă un nou export și convertiți din nou XML în JSON. Editarea copiei lasă cele două nesincronizate.
Confidențialitate și manevrare
De ce contează conversia locală pentru date
Fișierele XML conțin adesea ce este privat: facturi, clienți, comenzi, setări. Multe convertoare online vă încarcă fișierul pe un server, îl procesează și trimit rezultatul înapoi, iar o vreme o copie se află pe o mașină pe care nu o controlați. Aici lucrează propriul browser, deci datele rămân pe dispozitivul dumneavoastră.
Ce se întâmplă când plecați
Când închideți pagina, fișierul convertit dispare din browser, deci descărcați-l mai întâi. Nimic despre datele dumneavoastră nu este păstrat.
Dacă ceva merge prost
Pagina spune că XML-ul nu este valid
O etichetă poate să nu se închidă, pot exista două elemente rădăcină sau un caracter pe care XML nu îl permite. Deschideți fișierul într-un editor care evidențiază erorile XML și corectați rândul spre care indică.
Structura nu este cea pe care o așteptam
Căutați liste cu o singură intrare, atribute și text mixt. Ele explică cele mai multe surprize.
Pagina îngheață cu un fișier mare
Totul rulează pe dispozitivul dumneavoastră, iar un fișier mare are nevoie de memorie. Încercați din nou pe un calculator sau împărțiți datele.
Instrumente înrudite
Aceeași familie de instrumente acoperă sarcinile învecinate. Ca să vă întoarceți, folosiți JSON în XML. Pentru fișiere de configurare, JSON în YAML și YAML în JSON convertesc între cele două. Pentru tabele există JSON în CSV, CSV în JSON, JSON în XLSX și XLSX în JSON.
Un exemplu rezolvat
Să presupunem că un furnizor vă trimite un flux de produse ca fișier XML cu 800 de produse, fiecare cu un atribut id, un nume, un preț și o listă de categorii. Trageți fișierul aici și apăsați butonul. O clipă mai târziu descărcați un JSON cu un tablou de 800 de produse. Id-ul fiecăruia este o cheie @id, numele și prețul sunt chei proprii, iar categoriile formează un tablou. Pentru cele câteva produse cu o singură categorie, valoarea este un șir simplu, iar scriptul dumneavoastră de import tratează ambele cazuri. XML-ul rămâne în dosarul dumneavoastră ca originalul furnizorului.
O scurtă listă de verificare
Înainte de conversie
Verificați că XML-ul este bine format. Notați unde listele pot fi scurte. Păstrați XML-ul.
În timpul conversiei
Rămâneți pe pagină până când fișierul este gata.
După conversie
Deschideți JSON-ul, verificați cheile, atributele și listele și testați-l cu programul care îl va citi.
Greșeli frecvente
Presupunerea că fiecare listă este un tablou
O listă cu o intrare devine o valoare. Scrieți codul de citire să le accepte pe amândouă.
Așteptarea unui dus-întors perfect
Nu vă bazați pe faptul că trecerea de la XML la JSON și înapoi dă același XML. Păstrați originalul.
Uitarea că toate valorile sunt text
XML nu are tipuri. Convertiți numerele și datele în programul care le folosește.
Datele rămân pe dispozitivul dumneavoastră
Conversia se petrece local. Fișierul este citit de propriul browser, rescris acolo și înapoiat ca JSON. Nimic nu este încărcat, deci nicio copie nu ajunge pe un server și nimeni altcineva nu o poate citi. Pentru datele cu conținut privat, aceasta este calea sigură de a converti XML în JSON.
Rezumat
Ca să convertiți XML în JSON aici, trageți fișierul și apăsați butonul. Este citit și scris în browserul dumneavoastră, deci fișierul nu vă părăsește niciodată dispozitivul. Numele elementelor, imbricarea lor, atributele lor și textul lor se păstrează. Un atribut își păstrează numele cu un @ în față, iar textul care împarte un element cu elemente-copil este păstrat sub #text, pentru că nu mai este altundeva unde să fie pus. XML ține o idee pentru care JSON nu are cuvânt: elementele sunt ordonate și se pot repeta. Un nume care apare o dată devine o valoare, iar un nume care apare de două ori devine un tablou, deci citirea rezultatului înapoi nu dă mereu același XML. Comentariile, instrucțiunile de procesare și declarația XML nu fac parte din date și nu trec.