Conversie JSON în XML JavaScript Object Notation ↔ Extensible Markup Language Gratuit Online Sigur
Lăsați un fișier JSON și luați XML. 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 JSON, sau alegeți unul.
Fișierul nu pleacă de pe acest dispozitiv. Totul rulează în browserul dvs.
Nu se încarcă nimic
Conversie din JSON
Conversie în JSON
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 JSON în XML
JSON este limbajul codului web modern: ușor, lizibil și înțeles de orice limbaj de programare. XML este fratele mai vechi și mai formal, scris în etichete care se deschid și se închid, și este încă formatul cerut într-un număr surprinzător de locuri. Programele de contabilitate, sistemele fiscale și vamale, platformele de achiziții publice, fluxurile de produse, fluxurile de publicare, software-ul pentru întreprinderi și o lungă listă de servicii web mai vechi așteaptă toate XML. Când datele dumneavoastră sunt în JSON, iar sistemul care trebuie să le primească vorbește XML, este nevoie de o conversie. De aceea convertesc oamenii JSON în XML: au informația într-o formă, iar destinația cere cealaltă.
Situațiile sunt obișnuite. Un dezvoltator care trebuie să trimită date dintr-o aplicație modernă către un serviciu construit cu ani în urmă. Un magazin care exportă produse ca JSON și trebuie să dea un flux unei piețe online care vrea XML. O echipă care are nevoie de o configurație în forma de marcare pe care o preferă o unealtă. Un student care vrea să vadă cum arată aceleași date în ambele notații. În fiecare caz conținutul este gata, iar doar notația diferă.
Această pagină convertește JSON în XML în browserul dumneavoastră. Fișierul este citit și scris aici, deci nu părăsește niciodată dispozitivul dumneavoastră, ceea ce contează pentru comenzi, facturi și orice altceva privat. Iar pagina vă spune dinainte ce păstrează trecerea și ce nu poate păstra, în loc să vă lase să descoperiți singur. Mai jos aflați cum funcționează conversia, cum sunt tratate numele, listele și atributele și ce să faceți cu cheile pe care XML nu le poate accepta.
Cum funcționează conversia
Întregul arbore este preluat
Fișierul JSON este citit în interiorul browserului dumneavoastră, iar întregul arbore este scris ca XML. Obiectele devin elemente, cheile lor devin numele elementelor copil, iar valorile devin textul din interior. Imbricarea din JSON este imbricare în XML, deci forma pe care o vedeți în acolade este forma pe care o primiți în etichete.
Documentul poartă numele cheii unice
Un document XML are nevoie de exact un element rădăcină. Dacă obiectul dumneavoastră JSON are o singură cheie, acea cheie dă numele documentului. Este cazul comod: un fișier XML dus în JSON și înapoi arată ca el însuși, pentru că elementul rădăcină devine cheia unică și se întoarce ca element rădăcină. Dacă JSON-ul dumneavoastră are mai multe chei la nivelul de sus, convertorul le înfășoară într-un element rădăcină, astfel încât rezultatul să fie bine format.
Listele repetă elementul
O matrice își repetă elementul. O cheie products care conține o listă de trei înregistrări dă trei elemente product unul după altul, ceea ce este modul în care XML exprimă o listă. Ordinea se păstrează.
Ce se păstrează
Întregul arbore
Fiecare obiect, fiecare listă și fiecare valoare este preluată. Nimic nu se pierde, iar imbricarea este imbricarea originalului.
Atributele, prin @
O cheie care începe cu @ devine atribut. O înregistrare cu o cheie @id și o cheie name dă un element cu un atribut id și un element copil name. Aceasta este aceeași convenție folosită de conversia opusă, deci XML dus în JSON și înapoi își păstrează atributele.
Ordinea
Cheile păstrează ordinea în care au apărut în JSON, deci elementele din XML urmează secvența sursei.
Ce ar trebui să știți înainte să convertiți JSON în XML
Orice cheie JSON poate fi un cuvânt; un nume XML nu poate
Orice cheie JSON poate fi un cuvânt, un număr sau o frază cu spații. Un nume de element XML nu poate: trebuie să înceapă cu o literă sau cu o liniuță de subliniere și poate conține litere, cifre, cratime, linii de subliniere și puncte, dar nu spații. O cheie care nu este un nume legal nu este deformată într-unul. Devine un element item cu un atribut name, scris ca item name="cheia originală", astfel încât originalul este încă în fișier și încă ușor de găsit. Nimic nu este redenumit pe tăcute.
Nimic nu are spațiu de nume, nimic nu are schemă
Nimic nu primește spațiu de nume și nimic nu primește schemă. Rezultatul este bine format, nu validat. Va fi citit de orice cititor XML, dar dacă satisface structura anume pe care o cere un sistem fiscal sau o piață online este o întrebare separată, la care poate răspunde doar partea care primește. Dacă o schemă cere anumite nume de elemente, va trebui să faceți cheile JSON să se potrivească cu ele dinainte.
Valorile sunt text
XML nu are tipuri: fiecare valoare din etichete este text. Numerele, true, false și null se scriu ca textul lor. Programul care citește XML-ul trebuie să le interpreteze după cum crede de cuviință.
Cum convertiți JSON în XML aici
Adăugați fișierul
Trageți fișierul JSON pe pagină sau alegeți-l de pe dispozitiv. Este citit în interiorul browserului dumneavoastră și nu este încărcat.
Convertiți
Apăsați butonul. Un fișier de dimensiune obișnuită durează o clipă. Lăsați pagina deschisă până se termină.
Descărcați și verificați
Descărcați XML-ul și deschideți-l într-un editor de text sau într-un browser. Priviți începutul și sfârșitul și verificați că numele elementelor sunt cele pe care le așteptați și că atributele apar unde ați intenționat.
O privire mai atentă asupra JSON și XML
Două moduri de a scrie un arbore
Atât JSON, cât și XML descriu un arbore de valori. JSON îl scrie cu acolade și paranteze și cunoaște doar obiecte, liste, șiruri, numere, valori booleene și null. XML îl scrie cu etichete care se deschid și se închid și adaugă atribute, spații de nume și conținut mixt. Se suprapun bine pentru date, precum înregistrări și setări, și prost pentru documente, unde textul și marcajul sunt întrețesute.
De ce contează convențiile
JSON nu are atribute, nu are element rădăcină și nu are conceptul de repetare a unui element. Așadar orice conversie are nevoie de convenții: @ pentru atribute, cheia unică pentru rădăcină, repetarea elementelor pentru liste. Convențiile folosite aici sunt simple și consecvente și se potrivesc cu cele folosite la trecerea de la XML la JSON, ceea ce permite unui drum dus-întors să funcționeze în cazurile obișnuite.
Valorile goale
Un șir gol și un null ajung ambele ca un element gol. Dacă diferența contează pentru sistemul care primește, marcați-o în date înainte să convertiți JSON în XML, de exemplu cu un indicator separat.
Situații obișnuite în detaliu
Fluxuri pentru piețe online și site-uri de comparare
Multe platforme cer fluxuri de produse în XML. Dacă software-ul magazinului dumneavoastră exportă JSON, convertiți JSON în XML, verificați numele elementelor față de specificația platformei și încărcați.
Servicii mai vechi și sisteme pentru întreprinderi
Sistemele construite în epoca SOAP și a primelor API-uri așteaptă XML. O aplicație modernă poate produce JSON și îl poate converti pentru ele.
Configurație pentru unelte care preferă XML
Unele unelte de compilare, sisteme de conținut și programe desktop își citesc setările din XML. O configurație scrisă ca JSON poate fi transformată în forma de care au nevoie.
Învățare și comparare
A vedea aceleași date în ambele notații este o cale bună de a înțelege cum diferă. Lipiți un JSON mic, convertiți-l și comparați cele două alăturat.
Sfaturi practice înainte să convertiți JSON în XML
Verificați că JSON-ul este valid
O virgulă rătăcită sau o ghilimea lipsă va opri conversia. Dacă pagina raportează o eroare, deschideți fișierul într-un editor care evidențiază problemele JSON și corectați linia indicată.
Faceți cheile nume legale de elemente
Dacă știți că XML-ul va fi verificat față de o schemă, folosiți chei care sunt nume valide și care se potrivesc cu schema. Altfel, convertorul le va păstra în siguranță ca elemente item, ceea ce este corect, dar poate să nu fie ce așteaptă destinatarul.
Alegeți o singură cheie de nivel superior
Dacă vreți ca elementul rădăcină al XML-ului dumneavoastră să aibă un anumit nume, înfășurați datele într-un obiect cu acea singură cheie înainte să convertiți JSON în XML.
Fișiere mari
Totul rulează pe dispozitivul dumneavoastră, deci un fișier foarte mare cere memorie. Pentru fișiere de mai mulți megaocteți, folosiți un computer și împărțiți datele dacă pagina se încarcă greu.
Întrebări pe care le pun oamenii înainte de conversie
Ce dă numele elementului rădăcină?
Un obiect cu o singură cheie dă documentului numele acelei chei.
Cum obțin un atribut?
Începeți cheia cu @. Devine atribut al elementului.
Ce se întâmplă cu o cheie care conține un spațiu?
Nu este un nume legal de element, deci devine un element item cu un atribut name care conține cheia originală. Nimic nu se pierde.
Va trece XML-ul o verificare de schemă?
Rezultatul este bine format, nu validat. Dacă respectă o schemă dată depinde de numele elementelor și de structura dumneavoastră.
Este fișierul meu încărcat?
Nu. Conversia rulează în browserul dumneavoastră, iar fișierul nu părăsește niciodată dispozitivul.
Mă pot întoarce la JSON?
Da. XML în JSON citește un arbore XML înapoi, cu aceleași convenții pentru atribute.
Alegerea înțeleaptă când convertiți JSON în XML
Este XML cu adevărat necesar?
Dacă sistemul care primește acceptă JSON, folosiți JSON. Convertiți doar când XML este cerut.
Alte ținte
Pentru configurații pe care le editează oamenii, JSON în YAML se citește mai confortabil. Pentru tabele, JSON în CSV și JSON în XLSX servesc foile de calcul.
Păstrați JSON-ul
JSON-ul este originalul. Conține tipurile. Păstrați-l și tratați XML-ul ca pe o copie făcută pentru un anumit destinatar.
Un rezultat bun după conversie
Deschideți-l într-un browser
Un browser arată XML ca un arbore pliabil. Deschideți fișierul și extindeți elementele. Dacă structura arată ca ce așteptați, este în regulă.
Comparați câteva înregistrări cu sursa
Luați câteva înregistrări din mijloc și verificați-le față de JSON. Durează un minut și vă arată că conversia este fidelă.
Adăugați ce are nevoie destinatarul
Dacă destinatarul cere o linie de declarație, un spațiu de nume sau o referință la o foaie de stil, adăugați-le într-un editor de text. Ele nu fac parte din date și nu sunt scrise pentru dumneavoastră.
Pregătirea JSON-ului pentru o conversie bună
Folosiți structuri regulate
Când convertiți JSON în XML, datele regulate se convertesc cel mai bine: liste de înregistrări care au aceleași chei, fiecare cheie un nume legal. Datele neregulate produc un rezultat corect, dar dezordonat.
Hotărâți ce este atribut
Identificatorii, codurile și indicatorii sunt adesea atribute în XML. Marcați-i în JSON cu @, iar rezultatul va arăta ca XML-ul pe care l-ar scrie un om.
Testați mai întâi pe 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ă asupra rezultatului arată dacă forma este cea pe care o așteptați.
Potrivirea XML-ului cu destinatarul
Uitați-vă mai întâi la specificație
Înainte să convertiți JSON în XML pentru o piață online, un portal fiscal sau un partener, citiți ce cer ei. Cei mai mulți publică o descriere a elementelor pe care le așteaptă, a ordinii lor și a celor obligatorii. Alinierea numelor cheilor la ea costă câteva minute în JSON și scutește de o încărcare eșuată mai târziu.
Ordinea poate conta
Unele scheme XML cer elementele într-o ordine fixă. Convertorul păstrează ordinea cheilor dumneavoastră, deci dacă destinatarul insistă pe o secvență, scrieți cheile JSON în acea secvență. Rezultatul urmează exact ce ați scris.
Adăugați declarația dacă este cerută
O linie la început care indică versiunea și codificarea este obișnuită, iar unii destinatari insistă asupra ei. Nu face parte din date, deci nu este scrisă pentru dumneavoastră. Adăugați-o manual într-un editor de text, înainte de primul element.
Atenție la caracterele speciale
Ampersandurile, parantezele unghiulare și ghilimelele din valori se scriu în forma lor cu secvență de evitare, astfel încât XML-ul rămâne valid indiferent de ce conține textul. Nu trebuie să le pregătiți în JSON.
Păstrați un exemplu care a fost acceptat
Odată ce destinatarul acceptă un fișier, păstrați o copie a acelui fișier exact și a JSON-ului care l-a produs. Când o încărcare ulterioară eșuează, compararea cu cea care a mers găsește imediat diferența.
Repetați conversia în loc să editați manual
Când datele se schimbă, schimbați JSON-ul și convertiți din nou JSON în XML. Editarea manuală a XML-ului lasă două versiuni care se îndepărtează una de alta.
Confidențialitate și manevrare
De ce contează conversia locală pentru date
Fișierele de date conțin adesea ce este privat: clienți, comenzi, facturi, setări. Multe convertoare online vă încarcă fișierul pe un server, îl procesează și trimit înapoi rezultatul, iar o vreme o copie se află pe o mașină pe care nu o controlați. Aici browserul dumneavoastră face munca, 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, așa că descărcați-l mai întâi. Nimic despre datele dumneavoastră nu se păstrează.
Dacă ceva nu merge
Pagina spune că fișierul nu este JSON valid
Poate exista o virgulă rătăcită, o ghilimea lipsă sau o paranteză care nu se închide. Deschideți fișierul într-un editor care evidențiază erorile JSON și corectați linia indicată.
Destinatarul respinge XML-ul
Rezultatul este bine format, dar nu validat. Comparați-l cu specificația destinatarului și ajustați numele cheilor și structura JSON-ului.
Pagina îngheață cu un fișier mare
Totul rulează pe dispozitivul dumneavoastră, iar un fișier mare cere memorie. Încercați din nou pe un computer sau împărțiți datele.
Unelte înrudite
Aceeași familie de unelte acoperă lucrările învecinate. Pentru drumul înapoi, folosiți XML în JSON. 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 lucrat
Să spunem că software-ul magazinului dumneavoastră exportă 300 de produse ca JSON, iar o piață online cere un flux XML cu un element rădăcină numit catalogue. Înfășurați lista într-un obiect cu singura cheie catalogue, trageți fișierul aici și apăsați butonul. O clipă mai târziu descărcați un XML a cărui rădăcină este catalogue și care conține 300 de elemente product, fiecare cu id-ul ca atribut, pentru că ați scris cheia ca @id. Încărcați fluxul, iar piața îl acceptă. JSON-ul rămâne în dosarul dumneavoastră ca sursă.
O scurtă listă de verificare
Înainte de conversie
Verificați că JSON-ul este valid. Alegeți numele rădăcinii. Marcați atributele cu @. Păstrați JSON-ul.
În timpul conversiei
Rămâneți pe pagină până când fișierul este gata.
După conversie
Deschideți XML-ul, verificați numele elementelor, atributele și listele și testați-l cu destinatarul.
Greșeli frecvente
Presupunerea că rezultatul este validat
XML-ul este bine format, nu verificat față de vreo schemă. Validați-l față de regulile destinatarului.
Folosirea cheilor cu spații sau simboluri
Ele devin elemente item cu un atribut name. Folosiți nume legale dacă destinatarul le așteaptă.
Ștergerea JSON-ului
Păstrați-l. Conține tipurile pe care XML nu le poate ține.
Datele dumneavoastră rămân pe dispozitivul dumneavoastră
Conversia se face local. Fișierul este citit de propriul browser, rescris acolo și înapoiat ca XML. Nimic nu este încărcat, deci nicio copie nu ajunge pe un server și nimeni altcineva nu îl poate citi. Pentru date cu conținut privat, aceasta este calea sigură de a converti JSON în XML.
Rezumat
Ca să convertiți JSON în XML aici, trageți fișierul și apăsați butonul. Este citit și scris în browserul dumneavoastră, deci fișierul nu părăsește niciodată dispozitivul. Întregul arbore se păstrează. Un obiect cu o singură cheie dă documentului numele acelei chei, deci un fișier XML dus în JSON și înapoi arată ca el însuși; o matrice își repetă elementul; o cheie care începe cu @ devine atribut. Orice cheie JSON poate fi un cuvânt; un nume de element XML nu poate. O cheie care nu este un nume legal nu este deformată într-unul: devine un element item cu un atribut name, astfel încât originalul este încă în fișier și încă ușor de găsit. Nimic nu primește spațiu de nume și nimic nu primește schemă: rezultatul este bine format, nu validat.