Convert JSON ke XML
Ubah data JSON jadi XML yang valid.
Jalan di browser kamu. Apa pun yang kamu ketik tidak dikirim ke mana pun.
- Root element custom
- Selalu well-formed
- Tidak ada yang diupload
Cara convert JSON ke XML
- Tempel atau upload JSON kamu.
- Ketik nama untuk root element-nya.
- Salin XML-nya atau unduh file-nya.
Contoh: JSON masuk, XML keluar
| JSON | XML |
|---|---|
| {"name":"Sam"} | <root><name>Sam</name></root> |
| {"@_id":"5","#text":"Widget"} | <root id="5">Widget</root> |
| {"tag":["a","b"]} | <root><tag>a</tag><tag>b</tag></root> |
Bagaimana key JSON jadi nama tag
- Karakter yang tidak diizinkan XML dalam sebuah nama, seperti spasi, diganti dengan _, jadi "first name" jadi first_name.
- Key yang diawali angka mendapat tambahan _ di depan, karena nama XML tidak boleh dimulai dengan angka.
- Key yang bentrok dengan key yang sudah diganti nama mendapat tambahan angka, jadi first_name kedua jadi first_name_2.
Di mana JSON ke XML berguna
- Mengirim data ke sistem atau API lama yang cuma menerima XML.
- Membuat feed kecil, seperti file gaya RSS, dari sumber data JSON.
- Mengecek tampilan payload JSON sebagai request body SOAP atau XML lama.
Batasan yang perlu diketahui
- Nilai null JSON jadi elemen kosong, karena XML tidak punya apa pun yang benar-benar berarti null.
- Key yang cuma beda huruf besar-kecil, seperti Name dan name, jadi dua tag yang berbeda, karena nama tag XML case-sensitive.
- Angka dan boolean ditulis sebagai teks polos di XML. Pembacanya harus tahu cara mem-parsingnya balik ke tipe aslinya.
FAQ JSON ke XML
Bagaimana array ditulis di XML?
Setiap item dalam array jadi elemen berulang yang dinamai sesuai key-nya. Array di level teratas dibungkus elemen item di bawah root-nya.
Bagaimana cara membuat atribut?
Awali key dengan @_, seperti "@_id": 5, dan itu jadi atribut dari elemen induknya. Ini cocok dengan output converter XML ke JSON.
Bagaimana kalau sebuah key bukan nama tag XML yang valid?
Karakter yang tidak diizinkan XML dalam nama, seperti spasi, diganti dengan _, dan nama yang diawali angka mendapat tambahan _ di depannya. Jadi "first name" jadi first_name.
Bisakah aku round-trip file lewat XML ke JSON lalu balik lagi?
Bisa. JSON hasil converter XML ke JSON dengan atribut aktif, termasuk key @_ dan nilai #text-nya, ter-convert balik jadi XML yang cocok di sini.
Apa yang terjadi dengan array JSON berisi nilai polos, seperti daftar tag?
Setiap nilai jadi elemen berulangnya sendiri yang dinamai sesuai key array-nya, misalnya array tags berisi ["a","b"] di bawah key tag jadi <tag>a</tag><tag>b</tag>.
Apakah output-nya menyertakan deklarasi XML?
Ya. Setiap hasil dimulai dengan <?xml version="1.0" encoding="UTF-8"?> di barisnya sendiri.
Apakah ini meng-escape karakter khusus seperti < atau & di dalam teks?
Ya. Karakter apa pun yang bisa merusak sintaks XML di dalam teks atau nilai atribut otomatis di-escape, jadi hasilnya selalu bisa di-parse balik dengan bersih.
Bisakah aku menyarangkan object di dalam array di dalam object lain?
Bisa. Nesting sedalam dan sekombinasi apa pun antara object dan array ter-convert, tiap level jadi elemen bersarangnya sendiri.