DokumenGambarMediaAlat PDF

Konversi XML ke JSON Online

Konversi XML ke JSON di browser Anda. Ideal untuk migrasi SOAP ke REST, penguraian feed RSS/Atom, atau pemrosesan XML lawas.

// Invalid XML: DOMParser is not defined
Processed in your browser

XML ke JSON: modernisasi tumpukan data Anda

Migrasi SOAP ke REST

Konversi respons layanan web SOAP (XML) ke JSON untuk integrasi dengan REST API modern dan klien JavaScript.

Feed RSS dan Atom

Urai feed RSS 2.0 dan Atom 1.0 ke JSON untuk diproses dengan JavaScript, disimpan di MongoDB, atau ditampilkan di aplikasi web.

100% privat

XML Anda diproses di browser Anda dengan DOMParser native. Tidak pernah meninggalkan perangkat Anda.

XML lawas

Proses resource Android (strings.xml, layout), sitemap, manifes SOAP, atau format XML lawas apa pun.

Tiga langkah, tanpa kerumitan

1

Tempel XML Anda

Tempel XML valid apa pun: respons SOAP, feed RSS/Atom, sitemap.xml, manifes Android, atau dokumen XML 1.0 apa pun.

2

Konversi cerdas

Atribut XML dikonversi dengan awalan @, konten teks dengan #text, dan elemen yang berulang dikelompokkan secara otomatis ke dalam array.

3

Unduh atau salin JSON

Dapatkan JSON terstruktur yang siap digunakan dalam REST API, basis data NoSQL, atau kode JavaScript/Python Anda.

Ada pertanyaan?

XML memungkinkan elemen anak maupun atribut untuk menyimpan data, tanpa padanan JSON langsung. Konvensi yang paling banyak diadopsi (digunakan oleh xml2js dalam Node.js, xmltodict dalam Python, dan JAXB dalam Java) adalah mengawali atribut dengan @: elemen dengan id dan role menjadi objek dengan kunci @id dan @role. Konten teks dari elemen campuran (yang memiliki atribut dan teks) ditempatkan dalam kunci #text. Konvensi ini konsisten dengan spesifikasi BadgerFish dan alat ekosistem yang paling populer.

Dalam XML, sangat valid untuk memiliki beberapa elemen saudara dengan nama yang sama. JSON tidak dapat merepresentasikan beberapa kunci identik dalam objek yang sama (itu akan menjadi JSON tidak valid per RFC 7159). Solusi standar adalah mengelompokkannya ke dalam array. Konverter yang baik secara otomatis mendeteksi elemen yang berulang dan mengonversinya ke array, bahkan ketika hanya ada dua elemen. Ini dapat menyebabkan inkonsistensi jika terkadang ada satu elemen dan terkadang beberapa: solusinya adalah selalu menormalkan ke array untuk field yang dapat berulang.

Namespace XML (didefinisikan oleh W3C, diterbitkan Januari 1999 dan direvisi Agustus 2006) adalah fitur XML yang tidak memiliki padanan JSON. Representasi yang paling umum adalah menyertakan awalan namespace sebagai bagian dari nama kunci: elemen soap:Body menjadi kunci soap:Body dalam JSON. Deklarasi namespace diperlakukan sebagai atribut dan muncul sebagai @xmlns:awalan. Untuk kasus penggunaan seperti migrasi SOAP ke REST di mana namespace ada di mana-mana, pasca-pemrosesan sering diperlukan untuk menghapus awalan namespace dari JSON yang dihasilkan.

CDATA (Character Data) adalah bagian XML khusus yang memungkinkan menyertakan teks yang mengandung karakter yang biasanya dicadangkan tanpa menggunakan entitas XML. Sintaksnya adalah tanda kurung siku ganda di dalam tanda seru. CDATA sering digunakan untuk menyertakan HTML, JavaScript, SQL, atau teks apa pun dengan karakter khusus di dalam elemen XML. Dalam konversi JSON, konten CDATA diperlakukan sebagai teks biasa: bagian CDATA diganti oleh kontennya tanpa markup, dan hasilnya ditempatkan sebagai string normal dalam nilai field JSON.

Konversi terjadi di browser Anda menggunakan DOMParser native browser untuk mengurai XML dan serializer JSON kustom. DOMParser dapat menangani file XML berukuran beberapa puluh MB di browser modern. Untuk file besar (lebih dari 10 MB), prosesnya mungkin memerlukan beberapa detik. Untuk file XML yang sangat besar (lebih dari 100 MB, seperti sitemap dengan ratusan ribu URL), kami merekomendasikan alat streaming seperti xml2json dalam Node.js dengan streams atau xmltodict dalam Python dengan mode iterparse.

Konversi XML ke JSON: migrasi SOAP ke REST, feed RSS, dan pemrosesan XML lawas

XML (Extensible Markup Language) didefinisikan oleh W3C dalam rekomendasi XML 1.0 (diterbitkan 10 Februari 1998). Sepanjang tahun 2000-an, XML adalah format pertukaran data universal: SOAP menggunakan XML sebagai format pesannya, RSS 2.0 dan Atom 1.0 mendistribusikan feed berita dalam XML, Android menggunakan XML untuk layout, string, dan manifes aplikasi, dan SVG (Scalable Vector Graphics) adalah XML. Transisi ke JSON sebagai format pertukaran utama dimulai dengan popularisasi AJAX dan spesifikasi JSON Douglas Crockford (RFC 4627, Juli 2006). Saat ini, sebagian besar API baru menggunakan JSON/REST, tetapi jutaan sistem warisan, layanan B2B, dan format standar industri (UBL, HL7 FHIR dalam XML, SOAP, KML, GPX) masih menggunakan XML.

Mengonversi XML ke JSON tidak sepele karena kedua model data memiliki perbedaan konseptual yang mendasar. XML adalah model pohon node (elemen, atribut, teks, komentar, instruksi pemrosesan, CDATA) di mana elemen dapat memiliki atribut dan konten anak/teks secara bersamaan. JSON adalah model pohon nilai (objek, array, string, angka, boolean, null) tanpa konsep atribut yang terpisah dari konten. Konvensi utama untuk konversi adalah: atribut XML sebagai kunci dengan awalan @ (konvensi BadgerFish/xml2js); teks elemen campuran dalam kunci #text; elemen yang berulang dikelompokkan ke dalam array; namespace dipertahankan sebagai awalan kunci; CDATA diperlakukan sebagai teks biasa.

Untuk kasus penggunaan produksi skala tinggi, alat yang paling banyak digunakan adalah: xml2js (Node.js, lebih dari 25 juta unduhan bulanan di npm), xmltodict (Python, berbasis library standar xml.etree), JAXB (Java, bagian dari Jakarta EE), dan encoding/xml (library standar Go). Untuk migrasi layanan SOAP warisan ke REST, alat seperti Apache Camel, MuleSoft Anypoint, dan AWS API Gateway dengan transformasi payload menawarkan integrasi XML-ke-JSON native di level middleware. Convertir.ai menggunakan DOMParser native browser (API standar W3C, tersedia di semua browser modern sejak 2004) untuk mengurai XML dan serializer kustom untuk menghasilkan JSON, menjamin privasi total tanpa mengirim data ke server.