XML to JSON Converter
Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.
Select XML file
or drag and drop here
Convert XML data or files to JSON format instantly in your browser. Supports custom indentation and handles nested structures.
or drag and drop here
XML dan JSON keduanya merupakan format pertukaran data tetapi berasal dari era web yang berbeda. XML, yang distandarisasi pada tahun 1998, dirancang sebagai format markup yang menggambarkan dirinya sendiri dengan atribut, namespace, dan validasi skema. JSON muncul pada awal tahun 2000an sebagai format yang lebih ringan dan lebih cocok untuk runtime JavaScript dan API modern. Sebagian besar API web baru menggunakan JSON; banyak sistem lama — layanan SOAP, RSS feed, file konfigurasi, integrasi perusahaan — masih menghasilkan XML. Mengonversi keduanya adalah salah satu tugas interop yang paling umum dalam pembangunan modern.
Konversinya tidak sepenuhnya lossless karena kedua format tersebut memiliki kekuatan ekspresi yang berbeda. XML memiliki atribut (yang tidak dimiliki JSON), membedakan antara konten teks dan nama elemen, dan mendukung konten campuran (elemen yang berisi teks dan elemen turunan). Model objek/array langsung JSON tidak dapat secara langsung mewakili fitur-fitur ini, sehingga konverter menerapkan konvensi: atribut menjadi kunci @-prefixed, konten teks menjadi kunci #text, dan seterusnya.
Konverter ini mem-parsing XML menggunakan DOMParser bawaan browser dan menjalankan pohon DOM yang dihasilkan untuk menghasilkan JSON. Elemen dengan nama tag yang sama dengan saudaranya dikumpulkan ke dalam array; atribut masuk ke kunci khusus; ruang nama dan instruksi pemrosesan dipertahankan saat ada. Hasilnya adalah JSON yang dapat dibaca manusia dan kembali ke XML.
Kebanyakan kode aplikasi modern lebih nyaman dengan JSON. JavaScript mem-parsing JSON secara asli, modul json Python ada di perpustakaan standar, dan hampir semua bahasa lain memiliki dukungan JSON kelas satu yang setara. Pemrosesan XML memerlukan impor perpustakaan tambahan dan menulis lebih banyak boilerplate. Mengonversi XML masuk ke JSON sebelum pemrosesan sering kali merupakan jalur tercepat dari umpan XML eksternal ke struktur data internal.
Perkakas juga memanfaatkan JSON. Percantik JSON, validator, validator skema, bahasa kueri (jq, JSONPath), dan viewer sangat banyak; padanan XMLnya lebih sedikit dan seringkali lebih tua. Bekerja di JSON membuka ekosistem alat yang lebih kaya.
Tempel XML, dapatkan JSON.
DOMParser menghasilkan XML DOM yang identik dengan apa yang digunakan browser untuk halaman XHTML. Konverter menjalankan DOM ini secara rekursif. Untuk setiap elemen, ia membuat objek JSON: atribut menjadi kunci yang diawali dengan @ (misalnya, @id, @class); elemen anak elemen tersebut diulang ke dalam struktur yang sama; konten teks, ketika hadir bersama anak-anak, berada di bawah kunci #text.
Elemen anak berulang dengan nama tag yang sama dikumpulkan ke dalam array JSON. Seorang anak dengan nama tertentu muncul sebagai nilai objek; beberapa anak muncul sebagai array objek. Konvensi ini berfungsi dengan baik dalam praktiknya, tetapi berarti bentuk JSON bergantung pada apakah elemen muncul satu kali atau beberapa kali — suatu ketidaksempurnaan yang diketahui pada pemetaan XML-ke-JSON.
Ruang nama dipertahankan sebagai bagian dari nama elemen (awalan:Namalokal). Instruksi pemrosesan dan bagian CDATA diubah menjadi konten teks. Deklarasi XML dan DOCTYPE dihapus dari keluaran JSON tetapi tidak memengaruhi data.