Utilia

JSON to XML Converter

I-convert ang JSON sa XML at XML sa JSON sa iyong browser, may attribute, paulit-ulit na element at CDATA. Walang ina-upload sa server.

Conversion

Paano gamitin ang JSON to XML converter

  1. Piliin ang direksyon: JSON → XML o XML → JSON.
  2. I-paste ang iyong data, o i-click ang Buksan ang file para mag-load ng .json o .xml file (hanggang 10 MB).
  3. Itakda ang mga opsyon: Indentation (2 espasyo, 4 na espasyo, tab o Wala (compact)) para sa dalawang direksyon; Root element at Idagdag ang XML declaration para sa JSON → XML; I-convert ang mga numero at boolean para sa XML → JSON.
  4. I-click ang I-convert. Nag-a-update din ang resulta habang nagta-type ka, at ipinapakita ng mga error ang linya at column kung saan nahanap ang problema.
  5. Kopyahin o i-download ang resulta. Inilalagay ng Baliktarin ang direksyon ang output pabalik sa input para masuri mo ang round trip.

Paano nagmamapa ang JSON sa XML

Magkaiba ang data model ng XML at JSON, kaya bawat converter ay sumusunod sa isang kombensiyon. Ginagamit ng tool na ito ang malawakang ginagamit mula sa fast-xml-parser library:

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>
  • Ang mga key na nagsisimula sa @ ay nagiging mga attribute, at ang key na #text ang may hawak ng text ng elementong may mga attribute din.
  • Ang array ay nagiging paulit-ulit na elementong may parehong pangalan.
  • Kailangan ng XML document ng eksaktong isang root element. Kung ang iyong JSON ay object na may iisang key na ang value ay object, ang key na iyon ang magiging root. Kung hindi, ibabalot ang buong value sa elementong pinangalanan sa Root element (root bilang default), at ang mga top-level na item ng array ay nagiging mga elementong <item>.
  • Inaayos ang mga key na hindi valid na pangalan ng XML: ang mga espasyo at simbolo ay nagiging _, at ang pangalang nagsisimula sa digit ay nilalagyan ng _ sa unahan ("1st place" → <_1st_place>).
  • Ang null at mga walang laman na string ay nagbibigay ng walang laman na elemento gaya ng <note/>. Ine-escape ang mga espesyal na character (&, <, >, panipi).

Paano nagmamapa ang XML sa JSON

  • Ang mga attribute ay nagiging mga key na may unlaping @, at ang pinaghalong text ay nagiging #text.
  • Ang mga paulit-ulit na elemento ay nagiging array; ang elementong isang beses lumitaw ay nagiging iisang value.
  • Ang mga seksyon ng CDATA ay pinagsasama sa text, at dine-decode ang mga entity gaya ng &amp;. Inaalis ang XML declaration, processing instruction at mga komento.
  • Kapag naka-on ang I-convert ang mga numero at boolean, ang <price>12.5</price> ay nagiging 12.5 at ang true ay nagiging boolean, habang ang mga value na may zero sa unahan, gaya ng 007, ay nananatiling string. I-off ang opsyon para panatilihing text ang bawat value.

Bago mag-convert, sinusuri muna ang XML kung well-formed: ang nawawalang closing tag, hindi tugmang tag o hindi na-escape na & ay iniuulat kasama ang linya at column.

Mga madalas itanong

Ipinapadala ba sa server ang data ko?

Hindi. Ganap na tumatakbo sa iyong browser ang conversion. Nananatili sa iyong computer ang iyong mga XML feed, SOAP message at configuration file.

Bakit nagiging array ang isang elemento sa isang file at object naman sa isa pa?

Hindi sinasabi ng XML kung listahan ang isang elemento. Kapag dalawang beses lumitaw ang <tag>, nagiging array ito; kapag isang beses, iisang value ito. Kung array ang inaasahan ng iyong code, asikasuhin ang dalawang kaso, o magdagdag ng pangalawang elemento kapag nagte-test.

Bakit hindi laging magkapareho ang round trip?

May impormasyong walang katumbas sa kabilang panig: mga komento, pagkakasunod ng pinaghalong nilalaman, o ang pagkakaiba ng array na may isang elemento at iisang value. Para sa karaniwang mga dokumento ng data, ang pag-convert ng JSON → XML → JSON ay nagbabalik ng parehong istruktura.

Puwede ba akong gumamit ng mga namespace?

Oo. Pinananatili nang gaya ng dati sa dalawang direksyon ang mga pangalang may prefix gaya ng soap:Envelope at mga attribute gaya ng @xmlns:soap.

Vina-validate ba nito laban sa XSD schema?

Hindi. Sinusuri nito kung well-formed ang XML, pero hindi ito vina-validate laban sa DTD o XSD schema.