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
Generator Konfigurasi Webpack
Buat webpack.config.js untuk webpack 5 bagi JavaScript biasa, React, atau Vue: TypeScript, Babel, CSS atau Sass, gambar, HtmlWebpackPlugin, server pengembangan, dan baris npm install.
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.
Validator XSD
Validasi dokumen XML terhadap skema XSD dan laporkan ketidakcocokan elemen dan tipe dengan nomor baris persis.
Dekoder Protocol Buffers
Dekode byte wire-format Protobuf secara lokal dari hex, Base64, Base64URL, teks, atau file; periksa kandidat field yang tepat dan ekspor laporan privat.
XML Formatter
Pretty-print dokumen XML dengan indentasi konsisten dan tangkap kesalahan well-formedness lengkap dengan nomor baris persis.
Alat ini tersedia dalam bahasa lain
- แปลง JSON เป็น XML [TH]
- JSON إلى XML [AR]
- JSON a XML [ES]
- JSON zu XML [DE]
- JSON do XML [PL]
- Chuyển đổi từ JSON sang XML [VI]
- JSON vers XML [FR]
- JSONからXMLへ [JA]
- JSON naar XML [NL]
- JSON till XML [SV]
- JSON para XML [PT]
- JSON에서 XML로 [KO]
- JSON in XML [IT]
- Преобразование JSON в XML [RU]
- JSON'ten XML'e [TR]
- JSON 到 XML [ZH]
- JSON to XML [EN]