Utilia

JSON į XML keitiklis

Konvertuok JSON į XML ir XML į JSON naršyklėje, su atributais, pasikartojančiais elementais ir CDATA. Nieko neįkeliama į serverį.

Konvertavimas

Kaip naudotis JSON į XML keitikliu

  1. Pasirink kryptį: JSON → XML arba XML → JSON.
  2. Įklijuok duomenis arba spustelėk Atidaryti failą, kad įkeltum .json ar .xml failą (iki 10 MB).
  3. Nustatyk parinktis: Įtrauka (2 tarpai, 4 tarpai, tabuliacija ar Jokios (kompaktiškai)) abiem kryptimis; Šakninis elementas ir Pridėti XML deklaraciją JSON → XML; Konvertuoti skaičius ir logines reikšmes XML → JSON.
  4. Spustelėk Konvertuoti. Rezultatas atsinaujina ir tau rašant, o klaidos rodo eilutę ir stulpelį, kur rasta problema.
  5. Nukopijuok arba atsisiųsk rezultatą. Pakeisti kryptį grąžina rezultatą į įvestį, kad galėtum patikrinti apvalią kelionę.

Kaip JSON atvaizduojamas į XML

XML ir JSON neturi to paties duomenų modelio, todėl kiekvienas keitiklis laikosi kokios nors konvencijos. Šis įrankis naudoja plačiai paplitusią fast-xml-parser bibliotekos konvenciją:

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>
  • Raktai, prasidedantys @, tampa atributais, o raktas #text laiko elemento, turinčio ir atributų, tekstą.
  • Masyvas tampa pasikartojančiu to paties pavadinimo elementu.
  • XML dokumentui reikia lygiai vieno šakninio elemento. Jei tavo JSON yra objektas su vienu raktu, kurio reikšmė yra objektas, tas raktas tampa šaknimi. Kitu atveju visa reikšmė apgaubiama elementu, pavadintu Šakninis elementas (pagal numatytuosius root), o aukščiausio lygio masyvo elementai tampa <item> elementais.
  • Raktai, kurie nėra tinkami XML pavadinimai, ištaisomi: tarpai ir simboliai tampa _, o pavadinimas, prasidedantis skaitmeniu, gauna pradinį _ ("1st place" → <_1st_place>).
  • null ir tuščios eilutės duoda tuščią elementą, pavyzdžiui, <note/>. Specialieji simboliai (&, <, >, kabutės) apsaugomi.

Kaip XML atvaizduojamas į JSON

  • Atributai tampa raktais su priešdėliu @, o mišrus tekstas – #text.
  • Pasikartojantys elementai tampa masyvu; elementas, pasirodantis vieną kartą, tampa viena reikšme.
  • CDATA sekcijos sujungiamos su tekstu, o esybės, pavyzdžiui, &amp;, dekoduojamos. XML deklaracija, apdorojimo instrukcijos ir komentarai atmetami.
  • Su Konvertuoti skaičius ir logines reikšmes <price>12.5</price> tampa 12.5, o true – loginiu tipu, tuo tarpu reikšmės su pradiniu nuliu, pavyzdžiui, 007, lieka eilutėmis. Išjunk parinktį, kad kiekviena reikšmė liktų tekstu.

Prieš konvertuojant XML tikrinamas, ar tinkamai sudarytas: trūkstama uždaranti žymė, nesutampanti žymė ar neapsaugotas & pranešami su eilute ir stulpeliu.

Dažnai užduodami klausimai

Ar mano duomenys siunčiami į serverį?

Ne. Konvertavimas vyksta tik tavo naršyklėje. Tavo XML srautai, SOAP pranešimai ir konfigūracijos failai lieka tavo kompiuteryje.

Kodėl vieno failo elementas tampa masyvu, o kito – objektu?

XML nenurodo, ar elementas yra sąrašas. Kai <tag> pasirodo du kartus, jis tampa masyvu; kai vieną – viena reikšme. Jei tavo kodas tikisi masyvo, tvarkyk abu atvejus arba testuojant pridėk antrą elementą.

Kodėl apvali kelionė ne visada identiška?

Kai kuriai informacijai kitoje pusėje atitikmens nėra: komentarams, mišraus turinio tvarkai ar skirtumui tarp vieno elemento masyvo ir vienos reikšmės. Tipiniams duomenų dokumentams JSON → XML → JSON grąžina tą pačią struktūrą.

Ar galiu naudoti vardų erdves?

Taip. Vardai su priešdėliais, pavyzdžiui, soap:Envelope, ir atributai, pavyzdžiui, @xmlns:soap, abiem kryptimis paliekami tokie, kokie yra.

Ar tikrinama pagal XSD schemą?

Ne. Tikrinama, ar XML tinkamai sudarytas, bet pagal DTD ar XSD schemą netikrinama.