Cara memakai
- Tempel JSON ke JSON. Anggota tingkat teratasnya menjadi elemen akar.
- Gunakan awalan @ untuk atribut, seperti @id, dan #text untuk teks sebuah elemen.
- Pilih Indentasi, atau Tanpa pemisah baris (diminifikasi) untuk XML terpendek.
- Salin XML, atau unduh sebagai converted.xml.
Pemetaan, aturan demi aturan
XML memiliki elemen dan atribut; JSON memiliki objek, larik dan nilai. Pemetaan menghubungkan keduanya dalam satu arah. Tingkat teratas adalah objek dengan satu anggota: namanya menjadi elemen akar. Objek menjadi elemen. Anggota yang namanya diawali @ menjadi atribut, dan anggota bernama #text menjadi teks elemen. Anggota lain menjadi elemen anak dengan nama itu.
Larik memberi satu elemen anak untuk setiap item, semuanya dengan nama larik, sehingga daftar buku ditulis sebagai elemen book yang berulang. String, angka, atau true dan false menjadi teks. null, dan objek kosong, menjadi elemen kosong. Larik kosong tidak memiliki bentuk XML dan dibiarkan keluar.
- Nama harus berupa nama XML: kunci seperti first name, dengan spasi, tidak dapat ditulis sebagai nama elemen.
- Larik di dalam larik ditolak, karena tidak ada nama elemen untuk memberi item-itemnya.
- Teks angka ditulis seperti cara JavaScript menulisnya, sehingga angka dengan lebih dari 15 atau 16 digit bermakna mungkin kehilangan digit, seperti pembacaan JSON.
Yang tidak dapat dipertahankan pemetaan
XML tidak memiliki tipe, jadi perbedaan antara angka 12 dan teks "12" hilang saat kembali; konverter XML ke JSON membaca teks yang tampak seperti angka sebagai angka kecuali pengetikannya dimatikan. Objek kosong dan null tampak sama dalam XML, dan larik dengan satu item kembali sebagai item itu. Ini adalah batas pemetaan, bukan galat alat.
Komentar dan instruksi pemrosesan tidak ditulis, karena JSON tidak punya tempat untuk menyimpannya. Teks di dalam elemen dilolos, sehingga &, < dan > tetap sebagai teks dalam XML.
Contoh: katalog bawaan
JSON bawaan memiliki satu anggota, catalog. @version-nya menjadi atribut version dari elemen catalog, dan larik book-nya menjadi dua elemen book. Setiap buku mengambil @id-nya sebagai atribut id, dan kunci title, price serta inStock-nya menjadi elemen anak. Nilai price null dari buku kedua menjadi elemen kosong price.
Dengan dua spasi dan deklarasi, keluarannya memiliki delapan elemen: katalog, dua buku, dan tiga anak dari buku pertama serta dua dari buku kedua. Jumlahnya menunjukkan 8.
Pertanyaan yang sering diajukan
Bagaimana cara menulis atribut di JSON?
Beri kunci awalan @. Anggota "@id": "1" menjadi id="1" pada elemen yang memuatnya. Nilai atribut harus berupa teks, angka, atau true dan false, bukan objek atau larik.
Mengapa larik saya menjadi beberapa elemen dengan nama yang sama?
XML tidak memiliki larik. Setiap item larik menjadi satu elemen dengan nama larik itu, dengan urutan yang sama, yang merupakan cara biasa XML mendaftar hal-hal yang berulang seperti buku atau item.
Mengapa saya mendapat galat tentang tingkat teratas?
XML memerlukan tepat satu elemen akar. JSON harus berupa satu objek dengan satu anggota, seperti {"catalog": {...}}; daftar atau beberapa anggota di tingkat teratas tidak dapat menjadi satu dokumen.
Mengapa kunci dengan spasi ditolak?
Nama elemen di XML tidak boleh memuat spasi. Ganti nama kuncinya, misalnya menjadi first-name atau firstName, sebelum mengonversinya.
Apakah JSON saya dikirim ke server?
Tidak. Konversi berjalan di peramban Anda. Tidak ada yang Anda tempel yang dikirim ke server kami atau disimpan di sana.
Sumber
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format (dalam bahasa Inggris)
- W3C: Extensible Markup Language (XML) 1.0, Fifth Edition (dalam bahasa Inggris)
Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.