Utilia

Pretvornik JSON v XML

Pretvori JSON v XML in XML v JSON v brskalniku, z atributi, ponovljenimi elementi in CDATA. Nič se ne naloži na strežnik.

Pretvorba

Kako uporabljati pretvornik JSON v XML

  1. Izberi smer: JSON → XML ali XML → JSON.
  2. Prilepi podatke ali klikni Odpri datoteko, da naložiš datoteko .json ali .xml (do 10 MB).
  3. Nastavi možnosti: Zamik (2 presledka, 4 presledki, tabulator ali Brez (strnjeno)) za obe smeri; Korenski element in Dodaj deklaracijo XML za JSON → XML; Pretvori števila in logične vrednosti za XML → JSON.
  4. Klikni Pretvori. Rezultat se posodablja tudi med tipkanjem, napake pa prikažejo vrstico in stolpec, kjer je bila težava najdena.
  5. Kopiraj ali prenesi rezultat. Zamenjaj smer vrne izhod v vnos, da lahko preveriš krog tja in nazaj.

Kako se JSON preslika v XML

XML in JSON nimata enakega podatkovnega modela, zato vsak pretvornik sledi neki konvenciji. To orodje uporablja splošno razširjeno iz knjižnice fast-xml-parser:

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>
  • Ključi, ki se začnejo z @, postanejo atributi, ključ #text pa vsebuje besedilo elementa, ki ima tudi atribute.
  • Tabela postane ponovljen element z istim imenom.
  • Dokument XML potrebuje natanko en korenski element. Če je tvoj JSON objekt z enim samim ključem, katerega vrednost je objekt, ta ključ postane koren. Sicer se celotna vrednost ovije v element z imenom iz Korenski element (privzeto root), elementi tabele na vrhnji ravni pa postanejo elementi <item>.
  • Ključi, ki niso veljavna imena XML, so popravljeni: presledki in simboli postanejo _, ime, ki se začne s števko, pa dobi vodilni _ ("1st place" → <_1st_place>).
  • null in prazni nizi dajo prazen element, kot je <note/>. Posebni znaki (&, <, >, narekovaji) so zaščiteni.

Kako se XML preslika v JSON

  • Atributi postanejo ključi s predpono @, mešano besedilo pa postane #text.
  • Ponovljeni elementi postanejo tabela; element, ki se pojavi enkrat, postane ena vrednost.
  • Odseki CDATA se združijo v besedilo, entitete, kot je &amp;, pa se dekodirajo. Deklaracija XML, procesni ukazi in komentarji se izpustijo.
  • Z Pretvori števila in logične vrednosti <price>12.5</price> postane 12.5, true pa logična vrednost, medtem ko vrednosti z vodilno ničlo, kot je 007, ostanejo nizi. Izklopi možnost, da vsaka vrednost ostane besedilo.

Pred pretvorbo se XML preveri, ali je pravilno oblikovan: manjkajoča zaključna oznaka, neujemajoča se oznaka ali nezaščiten & so javljeni z vrstico in stolpcem.

Pogosta vprašanja

Ali se moji podatki pošljejo na strežnik?

Ne. Pretvorba poteka v celoti v tvojem brskalniku. Tvoji viri XML, sporočila SOAP in konfiguracijske datoteke ostanejo v tvojem računalniku.

Zakaj element v eni datoteki postane tabela, v drugi pa objekt?

XML ne pove, ali je element seznam. Ko se <tag> pojavi dvakrat, postane tabela; ko se pojavi enkrat, je ena vrednost. Če tvoja koda pričakuje tabelo, obravnavaj oba primera ali pri preizkušanju dodaj drugi element.

Zakaj krog tja in nazaj ni vedno enak?

Nekatere informacije na drugi strani nimajo ustreznice: komentarji, vrstni red mešane vsebine ali razlika med enoelementno tabelo in eno vrednostjo. Pri tipičnih podatkovnih dokumentih pretvorba JSON → XML → JSON vrne enako strukturo.

Ali lahko uporabljam imenske prostore?

Da. Imena s predpono, kot je soap:Envelope, in atributi, kot je @xmlns:soap, ostanejo v obe smeri taka, kot so.

Ali preverja glede na shemo XSD?

Ne. Preveri, ali je XML pravilno oblikovan, ne preverja pa ga glede na DTD ali shemo XSD.