Konversi JSON ke XML Online
Konversi JSON ke XML yang valid di browser Anda. Sempurna untuk mengintegrasikan REST API dengan layanan SOAP, sumber daya Android, dan konfigurasi berbasis XML.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<user id="1">
<name>John</name>
<age>30</age>
</user>
<user id="2">
<name>Maria</name>
<age>25</age>
</user>
</users>
</root>Kasus penggunaan utama
JSON ke XML: integrasikan API modern dengan sistem lama
REST ke SOAP
Integrasikan respons REST API modern dengan layanan web SOAP enterprise yang membutuhkan XML.
Sumber daya Android
Hasilkan strings.xml, arrays.xml, dan konfigurasi layout XML dari data JSON API Anda.
100% privat
JSON Anda dikonversi di browser. Data API Anda tidak pernah meninggalkan perangkat Anda.
XML yang well-formed
Hasilkan XML valid sesuai W3C XML 1.0 dengan deklarasi pengkodean, escape yang benar, dan struktur bersarang.
Cara kerjanya
Tiga langkah, tanpa kerumitan
Tempel JSON Anda
Tempel JSON dari REST API Anda, respons layanan web, atau objek JSON apa pun yang perlu direpresentasikan dalam XML.
Konversi instan
Konverter menghasilkan XML yang well-formed sesuai standar W3C XML 1.0, dengan indentasi yang mudah dibaca.
Salin XML yang dihasilkan
Salin XML untuk digunakan dalam integrasi SOAP, file sumber daya Android, file konfigurasi, atau sistem berbasis XML apa pun.
FAQ
Ada pertanyaan?
Array JSON tidak memiliki padanan langsung dalam XML karena XML tidak mengenal konsep array sebagai tipe native, hanya elemen dan atribut. Konvensi yang paling banyak digunakan adalah mengulang elemen pembungkus untuk setiap item dalam array. Misalnya, nilai a, b, dan c di bawah kunci item menghasilkan tiga elemen item terpisah. Untuk array objek, setiap objek menjadi elemen anak dengan propertinya sebagai elemen bersarang atau atribut. Konvensi ini diadopsi oleh xml2js di Node.js, JAXB di Java, dan sebagian besar framework serialisasi XML.
Ya, menggunakan konvensi awalan @. Dalam konvensi BadgerFish yang didokumentasikan di badgerfish.de dan banyak diadopsi, kunci JSON yang diawali dengan @ menjadi atribut XML dari elemen induknya. Konvensi ini digunakan oleh xml2js dengan opsi mergeAttrs, oleh Jackson XML di Java dengan @JacksonXmlProperty, dan oleh System.Xml.Serialization di .NET dengan [XmlAttribute].
Namespace XML yang didefinisikan dalam spesifikasi W3C XML Namespaces Januari 1999 memungkinkan penggabungan kosakata XML tanpa konflik nama. Dalam konversi JSON ke XML, namespace dapat direpresentasikan sebagai atribut xmlns pada elemen root atau elemen individual. Spesifikasi pastinya bergantung pada sistem tujuan seperti SOAP, KML, GPX, RSS 2.0, atau Atom, dan membutuhkan adaptasi skema konversi ke kosakata XML yang sesuai.
Karakter khusus dalam nilai teks JSON secara otomatis di-escape sesuai aturan XML: tanda lebih kecil menjadi <, lebih besar menjadi >, dan (&) menjadi &. Untuk konten yang mengandung blok teks besar dengan banyak karakter khusus seperti HTML tertanam atau kode SQL, bagian CDATA lebih tepat digunakan. Parser XML memperlakukan konten CDATA sebagai teks literal tanpa memproses entitas escape.
XML yang dihasilkan menyertakan deklarasi XML versi 1.0 dengan pengkodean UTF-8 di bagian atas. UTF-8 adalah pengkodean yang direkomendasikan W3C untuk dokumen XML sesuai XML 1.0 edisi kelima bagian 4.3.3. UTF-8 kompatibel dengan ASCII untuk karakter dasar dan dapat merepresentasikan karakter Unicode apa pun, memastikan kompatibilitas dengan teks dalam bahasa apa pun. Sistem SOAP dan sebagian besar layanan web mengharapkan UTF-8 secara default.
Ya. RSS 2.0 sesuai spesifikasi Dave Winer 2002 dan sitemap XML sesuai protokol Sitemaps yang diadopsi Google pada 2005 adalah kosakata XML dengan struktur yang telah ditentukan. Untuk menghasilkan RSS dari JSON, Anda perlu memetakan struktur JSON ke elemen RSS 2.0 yang diperlukan: channel dengan title, link, description, dan elemen item yang berisi title, link, pubDate, dan guid. Konverter menghasilkan XML yang valid; pemetaan field JSON ke XML adalah tanggung jawab pengembang.
Konversi JSON ke XML: integrasi REST-SOAP, sumber daya Android, dan pembuatan feed
XML (Extensible Markup Language) didefinisikan oleh W3C dalam rekomendasi XML 1.0 yang diterbitkan 10 Februari 1998, kini dalam edisi kelimanya dari November 2008, sebagai metalanguage untuk mendefinisikan kosakata markup terstruktur. Sepanjang tahun 2000-an, XML adalah format pertukaran data universal: SOAP (Simple Object Access Protocol, spesifikasi W3C 2003) menggunakan XML sebagai format pesan untuk layanan web enterprise; RSS 2.0 yang diterbitkan Dave Winer pada 2002 dan Atom 1.0 (RFC 4287, Desember 2005) mendistribusikan feed konten dalam XML; Android yang diluncurkan Google pada 2008 menggunakan XML untuk layout, string, dan manifest aplikasi; serta SVG adalah XML. Kebutuhan untuk mengonversi JSON ke XML muncul dalam tiga skenario utama: mengintegrasikan REST API modern dengan sistem enterprise SOAP atau EDI; menghasilkan sumber daya XML untuk Android dari data JSON backend; dan membuat feed RSS, sitemap, atau dokumen KML/GPX dari data yang disimpan dalam JSON.
Konversi JSON ke XML mengharuskan penyelesaian perbedaan mendasar antara kedua model data. JSON adalah pohon nilai: objek berupa pasangan kunci-nilai, array, string, angka, boolean, dan null. XML adalah pohon node: elemen yang dapat memiliki atribut dan konten anak atau teks secara bersamaan, teks, komentar, instruksi pemrosesan, dan bagian CDATA. Konvensi konversi yang paling banyak diadopsi adalah konvensi BadgerFish di mana kunci berawalan @ menjadi atribut XML dan kunci khusus #text menjadi konten teks elemen; serta konvensi Parker yang lebih sederhana tanpa atribut dengan semua nilai sebagai elemen anak. Untuk integrasi SOAP, XML harus sesuai dengan WSDL layanan yang membutuhkan pemetaan eksplisit field JSON ke tipe yang didefinisikan dalam skema XSD.
Untuk penggunaan produksi skala besar, alat yang paling banyak digunakan untuk konversi JSON ke XML adalah: di Node.js, xml2js dengan lebih dari 25 juta unduhan bulanan di npm, dan xmlbuilder2; di Java, Jackson dengan modul jackson-dataformat-xml dan spesifikasi JAXB; di Python, library xmltodict dikombinasikan dengan xml.etree dari library standar; di .NET, System.Xml.Serialization dan konverter bawaan JsonConvert.SerializeXmlNode dari Newtonsoft.Json. Untuk pembuatan sitemap dari data JSON, spesifikasi protokol Sitemaps yang diadopsi Google, Bing, dan Yahoo pada 2006 mendefinisikan skema XML yang ketat: elemen root urlset harus menyertakan atribut xmlns dengan namespace yang benar. Memvalidasi XML yang dihasilkan terhadap skema XSD sistem tujuan adalah langkah fundamental dalam integrasi enterprise.