XML ke JSON
XML dan JSON memodelkan data secara berbeda: XML punya atribut dan mixed content, JSON punya objek dan array. Mengonversi tanpa kehilangan butuh sebuah konvensi. Tool ini menawarkan tiga: compact (membuang atribut), Badgerfish (atribut di bawah @key, teks di bawah $), dan literal (setiap node XML menjadi objek JSON dengan kesetiaan penuh). Pilih yang cocok dengan konsumen JSON yang Anda tuju.
Cara mengonversi XML ke JSON
-
1
Tempel XML
XML well-formed apa pun. Namespace dipertahankan.
-
2
Pilih gaya konversi
Compact, Badgerfish, atau literal/lossless.
-
3
Tangani array
Paksa elemen tertentu agar selalu menjadi array (dapat dikonfigurasi).
-
4
Salin output JSON
Pretty-print atau minified, sesuai pilihan Anda.
Perbandingan tiga gaya
Input:
<book id="1" lang="en">
<title>1984</title>
<author>Orwell</author>
</book>
Compact (membuang atribut):
{
"book": {
"title": "1984",
"author": "Orwell"
}
}
Badgerfish (atribut di bawah @, teks di bawah $):
{
"book": {
"@id": "1",
"@lang": "en",
"title": { "$": "1984" },
"author": { "$": "Orwell" }
}
}
Literal / mirip JsonML (kesetiaan penuh):
{
"book": {
"@attributes": { "id": "1", "lang": "en" },
"title": "1984",
"author": "Orwell"
}
}
Array yang dipaksakan
XML tidak punya cara untuk berkata “ini adalah daftar berisi satu”. Urutan berisi satu elemen tampak identik dengan skalar:
<items>
<item>A</item>
</items>
Itu bisa diserialisasi sebagai {"item": "A"} atau {"item": ["A"]}. Konverter memungkinkan Anda menandai nama elemen (dengan XPath) sebagai selalu-array, sehingga konsumen JSON hilir Anda mendapat tipe yang konsisten.
Konten campuran
Mixed content, teks yang berselang dengan elemen anak, adalah satu-satunya tempat di mana konversi XML-ke-JSON apa pun kehilangan informasi:
<p>Hello <em>world</em>!</p>
Sebagian besar gaya membuang teks atau memadatkannya. Gaya literal mempertahankan urutan melalui array:
{
"p": {
"@content": ["Hello ", { "em": "world" }, "!"]
}
}
Inferensi tipe
Secara default nilainya berupa string. Aktifkan “parse numeric/boolean” dan konverter akan mengonversi 42, 3.14, true, false ke tipe JSON yang sesuai. Hati-hati: atribut XML id="007" menjadi 7 saat casting aktif, yang kemungkinan tidak Anda inginkan.
Kapan memilih yang mana
- Compact: untuk JSON yang mudah dibaca manusia di mana atribut hanya gangguan.
- Badgerfish: ketika Anda butuh atribut dan teks pada kedalaman yang sama dengan anak.
- Literal: ketika Anda harus mengembalikan ke XML tanpa kehilangan.
Pertanyaan yang Sering Diajukan
Saat sebuah elemen muncul sekali, konverter default ke objek; dua kali atau lebih, menjadi array. Gunakan opsi force-array agar konsisten jika konsumen Anda mengharapkan satu bentuk.
Prefiks namespace dipertahankan dalam key (ns:title) kecuali Anda mengaktifkan “strip namespaces”. Deklarasinya sendiri menjadi atribut @xmlns:ns pada elemen root.
Mode literal paling mendekati lossless tetapi pengurutan mixed content antara elemen dan teks itu rumit. Mode compact jelas kehilangan atribut. Badgerfish adalah jalan tengah yang pragmatis.
Tidak. Konversi berjalan di browser Anda.
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.
Generator Tabel Markdown
Buat tabel Markdown secara visual atau tempelkan file berformat CSV/TSV. Atur penjajaran kolom, pengisian ruang kosong (padding), dan baris kepala; kemudian salin hasil tampilan Markdown yang telah diatur tersebut.
JSON ke YAML
Konversi JSON ke YAML dengan penjelajaran yang tepat, penutupan string yang aman, skalar blok berbaris ganda, serta kunci yang tersortir untuk konfigurasi yang lebih rapi.
Generator Konfigurasi Nginx
Buat server block Nginx dengan TLS, HTTP/2, gzip, cache browser, dan aturan reverse proxy hanya dari sebuah formulir sederhana.
Markdown ke Slide
Ubah Markdown menjadi rangkaian slide dengan pemisah `---`, catatan pembicara, serta ekspor ke HTML atau PDF. Didukung oleh Reveal.js.
Alat ini tersedia dalam bahasa lain
- XML → JSON [KO]
- XML till JSON [SV]
- XML naar JSON [NL]
- XML do JSON [PL]
- XML zu JSON [DE]
- แปลง XML เป็น JSON [TH]
- XML a JSON [ES]
- XML إلى JSON [AR]
- XML vers JSON [FR]
- XMLからJSONへ [JA]
- XML para JSON [PT]
- Chuyển đổi từ XML sang JSON [VI]
- XML to JSON [EN]
- XML in JSON [IT]
- От XML к JSON [RU]
- XML'den JSON'a [TR]
- XML 转 JSON [ZH]