JSON-i ja XML-i teisendaja
Teisenda JSON XML-iks ja XML JSON-iks oma brauseris, atribuutide, korduvate elementide ja CDATA toega. Midagi ei laadita serverisse.
Kuidas JSON-i ja XML-i teisendajat kasutada
- Vali suund: JSON → XML või XML → JSON.
- Kleebi andmed või klõpsa nuppu Ava fail, et laadida
.json- või.xml-fail (kuni 10 MB). - Sea valikud: Taane (2 tühikut, 4 tühikut, tabulaator või Puudub (kompaktne)) mõlema suuna jaoks; Juurelement ja Lisa XML-deklaratsioon JSON → XML jaoks; Teisenda arvud ja tõeväärtused XML → JSON jaoks.
- Klõpsa Teisenda. Tulemus uueneb ka kirjutamise ajal ning vead näitavad rida ja veergu, kust probleem leiti.
- Kopeeri tulemus või laadi see alla. Vaheta suund paneb väljundi tagasi sisendisse, et saaksid edasi-tagasi teisendust kontrollida.
Kuidas JSON XML-iks teisendub
XML-il ja JSON-il ei ole sama andmemudel, seega järgib iga teisendaja mingit kokkulepet. See tööriist kasutab teegi fast-xml-parser laialt kasutatavat kokkulepet:
| JSON | XML |
|---|---|
{"title": "Dune"} |
<title>Dune</title> |
{"book": {"@id": "42"}} |
<book id="42"/> |
{"p": {"@lang": "en", "#text": "Hi"}} |
<p lang="en">Hi</p> |
{"tag": ["a", "b"]} |
<tag>a</tag><tag>b</tag> |
- Võtmed, mis algavad märgiga
@, muutuvad atribuutideks ning võti#texthoiab elemendi teksti, millel on ka atribuute. - Massiiv muutub sama nimega korduvaks elemendiks.
- XML-dokument vajab täpselt ühte juurelementi. Kui sinu JSON on objekt ühe võtmega, mille väärtus on objekt, muutub see võti juureks. Muidu mähitakse kogu väärtus väljal Juurelement nimetatud elementi (vaikimisi
root) ja ülemise taseme massiivi elemendid muutuvad<item>elementideks. - Võtmed, mis ei ole korrektsed XML-i nimed, parandatakse: tühikud ja sümbolid muutuvad märgiks
_ning numbriga algav nimi saab ette_("1st place"→<_1st_place>). nullja tühjad stringid annavad tühja elemendi, näiteks<note/>. Erimärgid (&,<,>, jutumärgid) escape’itakse.
Kuidas XML JSON-iks teisendub
- Atribuutidest saavad võtmed eesliitega
@ja segatekst muutub võtmeks#text. - Korduvatest elementidest saab massiiv; element, mis esineb üks kord, muutub üksikuks väärtuseks.
- CDATA-sektsioonid liidetakse teksti hulka ja olemid nagu
&dekodeeritakse. XML-deklaratsioon, töötlusjuhised ja kommentaarid jäetakse ära. - Valikuga Teisenda arvud ja tõeväärtused muutub
<price>12.5</price>väärtuseks12.5jatruetõeväärtuseks, samal ajal kui eesnulliga väärtused, näiteks007, jäävad stringideks. Lülita valik välja, et hoida iga väärtus tekstina.
Enne teisendamist kontrollitakse XML-i korrektsust: puuduv sulgemissilt, mittesobiv silt või escape’imata & teatatakse koos rea ja veeruga.
Korduma kippuvad küsimused
Kas minu andmed saadetakse serverisse?
Ei. Teisendus toimub täielikult sinu brauseris. Sinu XML-voogud, SOAP-sõnumid ja seadistusfailid jäävad sinu arvutisse.
Miks muutub element ühes failis massiiviks ja teises objektiks?
XML ei ütle, kas element on loend. Kui <tag> esineb kaks korda, muutub see massiiviks; kui üks kord, on see üksik väärtus. Kui sinu kood ootab massiivi, käsitle mõlemat juhtu või lisa testimisel teine element.
Miks ei ole edasi-tagasi teisendus alati identne?
Mõnel teabel puudub vaste teisel poolel: kommentaarid, segasisu järjekord või erinevus ühe elemendiga massiivi ja üksiku väärtuse vahel. Tüüpiliste andmedokumentide puhul annab JSON → XML → JSON teisendus sama struktuuri tagasi.
Kas ma saan kasutada nimeruume?
Jah. Prefiksiga nimed nagu soap:Envelope ja atribuudid nagu @xmlns:soap säilivad mõlemas suunas samal kujul.
Kas see valideerib XSD skeemi vastu?
Ei. See kontrollib, et XML on korrektselt vormindatud, kuid ei valideeri seda DTD või XSD skeemi vastu.
Seotud tööriistad
- JSON-i vormindaja ja valideerija Tasuta JSON-i vormindaja ja valideerija, mis kaunistab, minimeerib ja kontrollib JSON-i sinu brauseris ning teatab süntaksivead rea ja veeruga.
- JSON-i ja YAML-i teisendaja Teisenda JSON YAML-iks ja YAML JSON-iks oma brauseris, ankrute, ühendusvõtmete ja mitme dokumendiga failide toega. Midagi ei laadita üles.
- JSON-i ja CSV teisendaja Teisenda JSON CSV-ks ja CSV tagasi JSON-iks oma brauseris. Pesastatud võtmed lamendatakse veergudeks, eraldajad tuvastatakse ja midagi ei laadita üles.