Cara konversi JSON ke XML
- Tempel JSON atau buka file
.json. XML langsung muncul di sebelahnya saat Anda mengetik. - Atur nama elemen root (atau kosongkan untuk memakai satu-satunya key di level teratas), prefiks atribut, dan indentasi.
- Salin XML atau unduh sebagai file
.xml.
Cara JSON dipetakan ke XML
| JSON | XML |
|---|---|
{"name": "Ada"} | <name>Ada</name> |
{"@id": "7"} | atribut id="7" pada elemen induk |
{"#text": "Hello"} | konten teks dari elemen induk |
{"tag": ["a", "b"]} | <tag>a</tag><tag>b</tag> |
{"note": null} | <note/> |
{"2nd key": 1} | <_2nd_key>1</_2nd_key> – nama yang tidak valid diperbaiki |
array di level teratas [1, 2] | <root><item>1</item><item>2</item></root> |
&, <, > di dalam teks | &, <, > |
JSON vs XML
JSON memiliki array, angka, boolean, dan null; XML hanya memiliki elemen, atribut, dan teks, sehingga tipe data tidak dipertahankan: 42 dan "42" sama-sama menjadi teks 42. Sebaliknya, XML memiliki atribut, namespace, dan mixed content yang tidak ada di JSON. Jika Anda berencana mengonversi XML kembali ke JSON nanti, pertahankan konvensi umum yang dipakai di sini – @ untuk atribut dan #text untuk konten teks – yang dipahami sebagian besar konverter.
Pertanyaan yang sering diajukan
Bagaimana array JSON dikonversi ke XML?
Setiap item menjadi elemen yang dinamai sesuai key array tersebut, sehingga {"book": [ … ]} menjadi beberapa elemen <book>. Item dari array di level teratas menjadi elemen <item> di dalam root.
Bagaimana cara membuat atribut XML dari JSON?
Beri awalan @ pada key: {"user": {"@id": 7, "name": "Ada"}} menjadi <user id="7"><name>Ada</name></user>. Anda bisa mengubah prefiks ini di opsi.
Apa yang terjadi pada key yang bukan nama XML yang valid?
Karakter yang tidak boleh ada di nama XML, seperti spasi, diganti dengan garis bawah, dan nama yang diawali angka atau “xml” diberi garis bawah di depannya: "2nd key" menjadi <_2nd_key>.
Apakah XML yang dihasilkan valid?
Ya. Karakter khusus di-escape, setiap nama elemen valid, dan dokumen memiliki tepat satu elemen root, dengan deklarasi XML opsional di bagian atas.