JSON ke XML
Tempelkan dokumen JSON dan dapatkan XML yang setara, dengan nama elemen akar yang Anda pilih, strategi yang konsisten untuk array (elemen berulang atau pembungkus), deklarasi XML secara opsional, serta indentasi yang rapi. Sangat berguna ketika sistem lama memerlukan XML sementara data sumber Anda masih berformat JSON.
Cara Mengonversi JSON ke XML
-
1
Tempelkan JSON
Objek atau array pada tingkat tertinggi. Anda akan memberi nama pada elemen akar.
-
2
Beri nama pada akar
XML memerlukan satu elemen akar. Nilai defaultnya adalah `<root>`; gunakan nama yang bermakna seperti `<users>` atau `<response>`.
-
3
Pilih strategi array
“Elemen berulang” (setiap item array menjadi `<item>` yang bersaudara) atau “pembungkus” (array dimasukkan ke dalam elemen pembungkus bernama).
-
4
Salin XML
Deklarasi XML opsional, indentasi yang benar, serta nilai dengan escape entitas untuk `<`, `>`, `&`, dan tanda kutip.
Contoh: elemen yang diulang
Masukan:
{ "users": [ { "name": "Alice" }, { "name": "Bob" } ] }
Hasil:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<name>Alice</name>
</users>
<users>
<name>Bob</name>
</users>
</root>
Contoh: pembungkus array
Input yang sama menggunakan strategi “membungkus array dalam <item>”:
<root>
<users>
<item>
<name>Alice</name>
</item>
<item>
<name>Bob</name>
</item>
</users>
</root>
Pemetaan Tipe
| JSON | XML |
|---|---|
| string | konten teks, dengan escape entitas |
| bilangan bulat / desimal | konten teks (tanpa anotasi tipe XML) |
| boolean | true / false dalam bentuk teks |
| null | elemen kosong (<foo/>) atau dihilangkan |
| array | elemen yang diulang atau pembungkus + item |
| objek | elemen bersarang dengan elemen anak |
Atribut vs elemen
XML membedakan atribut (<user id="1">) dari elemen anak (<user><id>1</id></user>). Konverter menggunakan elemen secara default; elemen tidak kehilangan informasi saat dikonversi bolak-balik. Jika XML berikutnya memerlukan atribut, gunakan konvensi awalan kunci:
- Kunci JSON
@idmenjadi atribut XMLid="..."pada elemen induk. - Kunci JSON
#textmenjadi konten teks dari elemen induk.
Konvensi-konvensi ini berasal dari pemetaan BadgerFish dan Parker, dua standar paling umum untuk konversi JSON ke XML.
Aturan escape
<-><>->>&->&"->"(dalam nilai atribut)'->'(opsional)- Byte dalam format UTF-8 dipertahankan dan telah dideklarasikan dalam XML Prolog.
Kesalahan Umum
- Array JSON pada tingkat akar. XML memerlukan satu elemen akar saja. Konverter akan membungkus array tersebut dalam
<root>(atau nama apa pun yang Anda pilih). - Kunci numerik. JSON
{"1": "a"}sah; nama elemen XML tidak boleh diawali dengan angka. Konverter menambahkan garis bawah di depan angka (_1) atau memungkinkan Anda mendefinisikan pemetaan khusus. - Array campuran.
[1, "two", { "x": true }]tidak memiliki pemetaan yang jelas. Umumnya ini berarti data JSON perlu dinormalisasi sebelum dikonversi. - Dokumen berukuran besar. XML bertele-tele; sebuah file JSON 10 MB dapat menjadi file XML 20–30 MB. Pertimbangkan konversi secara streaming untuk beban data yang sangat besar.
Pertanyaan yang Sering Diajukan
XML secara spesifik memerlukan satu elemen akar. Jika JSON Anda berupa array atau memiliki beberapa kunci tingkat atas, konverter akan mengelompokkan seluruh elemen tersebut dalam sebuah elemen akar yang dapat Anda tentukan nama (secara default bernama <root>).
Ya. Gunakan konvensi awalan @ pada kunci JSON Anda (misalnya "@id": 1); kunci-kunci tersebut akan menjadi atribut, sedangkan kunci lainnya tetap berperan sebagai elemen anak. Hal ini sesuai dengan pemetaan BadgerFish.
Ada dua strategi: elemen saudara berulang (setiap item menggunakan kunci induk sebagai tagnya), atau pembungkus yang berisi elemen <item> di dalamnya. Pilih yang sesuai dengan skema XML yang Anda targetkan.
Tidak. Konverter menghasilkan deklarasi XML (<?xml version="1.0"?>), tetapi tidak mencantumkan jenis dokumen (DOCTYPE). Untuk XML yang memerlukan referensi DTD atau XSD, tambahkan referensi tersebut secara manual setelah konversi selesai.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Pemformat HTML
Format HTML secara lokal di browser dengan inden dua atau empat spasi. HTML tidak diunggah atau divalidasi.
Generator EditorConfig
Buat file .editorconfig dengan gaya dan ukuran indentasi, akhir baris, charset, dan aturan spasi Anda untuk format yang konsisten di berbagai IDE dan editor.
Validator Email
Validasi alamat email: pemeriksaan sintaks RFC 5322, pengecekan live record MX, serta detail bagian lokal, domain, dan panjang. Tidak ada email yang dikirim.
Alat ini tersedia dalam bahasa lain
- JSON vers XML [FR]
- JSON till XML [SV]
- แปลง JSON เป็น XML [TH]
- JSON إلى XML [AR]
- Chuyển đổi từ JSON sang XML [VI]
- JSON에서 XML로 [KO]
- JSON zu XML [DE]
- JSON a XML [ES]
- JSON naar XML [NL]
- JSON do XML [PL]
- JSONからXMLへ [JA]
- JSON para XML [PT]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON 到 XML [ZH]
- JSON to XML [EN]
- JSON in XML [IT]