Skip to content

Konverter JSON ke XML

Tempel JSON, dapatkan XML seketika. Mengonversi objek, array, dan atribut @_ langsung di browser — tidak ada upload. Gratis, privat, tanpa pendaftaran.

Tanpa Pelacakan Berjalan di Browser Gratis
Opsi · 2 spasi · JSON → XML
Indentasi
0 karakter
XML Output
0 baris
Ditinjau untuk well-formedness XML 1.0, kebenaran konvensi @_/#text, dan akurasi normalisasi root — Go Tools Engineering Team · May 29, 2026

Apa Itu Konversi JSON-ke-XML dan Bagaimana Cara Kerjanya?

JSON (JavaScript Object Notation) dan XML (Extensible Markup Language) keduanya merupakan format data terstruktur, tetapi memiliki model yang sangat berbeda: JSON adalah pohon objek, array, string, angka, boolean, dan nilai null tanpa konsep atribut atau batasan root dokumen; XML adalah pohon elemen yang dapat membawa atribut dan konten teks, dan dokumen harus memiliki tepat satu elemen root. Mengonversi dari JSON ke XML memerlukan serangkaian konvensi untuk menjembatani ketidaksesuaian ini.

Alat ini menggunakan konvensi yang paling banyak diadopsi — konvensi yang sama yang digunakan oleh fast-xml-parser (Node.js), xmltodict (Python), dan JAXB (Java) — diterapkan secara terbalik:

**1. Normalisasi elemen root.** Perbedaan terpenting antara JSON dan XML adalah batasan root. JSON tidak memiliki konsep root; XML memerlukan tepat satu. Konverter menangani empat kasus secara otomatis. Objek dengan satu kunci menggunakan kunci tersebut sebagai root XML: { "config": {...} } → .... Objek dengan beberapa kunci dibungkus dalam : { "a": 1, "b": 2 } → 12. Array tingkat atas dibungkus sebagai .... Nilai primitif dibungkus sebagai nilai.

**2. Prefiks @_ → atribut XML.** Kunci JSON berprefix @_ menjadi atribut XML pada elemen yang melingkupi. { "element": { "@_id": "42", "@_class": "primary" } } menghasilkan . Prefiks ini adalah konvensi kanonik — tidak ada nama elemen XML valid yang dimulai dengan @, sehingga tidak pernah ada tabrakan dengan nama elemen anak.

**3. #text → konten teks elemen.** Ketika sebuah elemen memerlukan atribut dan konten teks, teks disimpan di bawah kunci #text: { "price": { "@_currency": "USD", "#text": "29.99" } } → 29.99. Elemen yang hanya memiliki konten teks (tanpa kunci @_) dikonversi ke elemen teks biasa tanpa indirection ini.

**4. Array → elemen saudara berulang dengan nama yang sama.** XML mengizinkan beberapa elemen anak dengan nama yang sama; JSON menggunakan array untuk daftar yang terurut. Array JSON di bawah kunci menghasilkan elemen anak berulang yang menggunakan kembali nama kunci: { "items": ["a", "b"] } menghasilkan ab (dua elemen adalah saudara di bawah induk). Ketika seluruh input JSON adalah array tingkat atas, pembungkus ditambahkan dan setiap elemen menjadi anak adalah nama fallback tetap yang hanya digunakan dalam kasus tersebut.

**5. Simetris dengan XML-ke-JSON.** Konvensi @_ dan #text yang digunakan di sini adalah konvensi yang sama persis yang digunakan oleh alat pendamping Konverter XML ke JSON. Ini berarti round-trip JSON → XML → JSON mempertahankan atribut, konten teks, dan struktur elemen — selama JSON input mengikuti konvensi @_/#text.

**Kapan mengonversi JSON ke XML?** Skenario paling umum adalah: (1) mengirim data ke layanan web SOAP atau berbasis XML lama yang memerlukan body permintaan XML; (2) menghasilkan file konfigurasi XML (Spring, Maven, Ant, resource Android) dari data JSON; (3) menghasilkan sitemap.xml atau feed RSS XML dari data konten JSON; (4) berinteroperasi dengan sistem enterprise (ERP, CRM, EDI) yang mengonsumsi XML; (5) menghasilkan SVG atau format grafis berbasis XML lainnya secara programatik dari data JSON. Untuk memformat dan memvalidasi XML yang dihasilkan, gunakan XML Formatter.

// Convert JSON to XML in Node.js using fast-xml-parser
import { XMLBuilder } from 'fast-xml-parser';

const data = {
  catalog: {
    product: {
      '@_id': 'P01',
      '@_category': 'electronics',
      name: 'Wireless Headphones',
      price: {
        '@_currency': 'USD',
        '#text': '79.99'
      }
    }
  }
};

const builder = new XMLBuilder({
  attributeNamePrefix: '@_',   // @_ keys become XML attributes
  textNodeName: '#text',       // #text key becomes element text content
  ignoreAttributes: false,     // process @_ attribute keys
  format: true,                // pretty-print with indentation
  indentBy: '  ',              // 2-space indent
});

const xml = builder.build(data);
console.log(xml);
// <catalog>
//   <product id="P01" category="electronics">
//     <name>Wireless Headphones</name>
//     <price currency="USD">79.99</price>
//   </product>
// </catalog>

Fitur Utama

Konversi Langsung

Output XML diperbarui seketika saat Anda mengetik atau menempel JSON — tidak perlu tombol Convert. Input besar (>200KB) secara otomatis beralih ke mode manual agar browser tetap responsif.

Normalisasi Root Otomatis

XML memerlukan tepat satu elemen root. Objek dengan satu kunci menggunakan kunci sebagai root; objek dengan beberapa kunci dibungkus dalam ; array tingkat atas menjadi ...; nilai primitif menjadi nilai — selalu menghasilkan XML yang valid.

Konvensi Atribut @_ dan #text

Kunci berprefix @_ menjadi atribut XML; kunci #text menjadi konten teks elemen. Ini cocok dengan konvensi fast-xml-parser dan xmltodict, membuat output simetris dengan alat pendamping Konverter XML ke JSON.

Array ke Elemen Berulang

Array JSON di bawah kunci menghasilkan elemen anak berulang yang menggunakan kembali nama kunci — tanpa singularisasi. { "items": [1, 2, 3] } menghasilkan tiga saudara . Input array tingkat atas dibungkus sebagai ... menggunakan sebagai nama literal tetap.

Privasi 100% Berbasis Browser

Semua konversi berjalan secara lokal di browser Anda menggunakan JavaScript. JSON Anda — termasuk kredensial, konfigurasi internal, dan payload sensitif — tidak pernah dikirim ke server mana pun, tidak pernah dicatat, dan tidak pernah disimpan.

Round-Trip Simetris dengan XML ke JSON

Konvensi @_ dan #text dibagi dengan alat pendamping Konverter XML ke JSON. Round-trip JSON → XML → JSON secara setia mempertahankan atribut, konten teks, dan struktur bersarang.

Contoh

Objek Respons API

{"user":{"id":42,"name":"Alice Kim","email":"alice@example.com","role":"admin","address":{"city":"Seoul","country":"KR"}}}

Objek JSON dengan satu kunci di mana kunci tingkat atas menjadi elemen root XML. Objek address bersarang menghasilkan elemen anak

dengan anak-anak dan . Karena objek luar memiliki tepat satu kunci ("user"), tidak ada pembungkus yang ditambahkan — "user" itu sendiri adalah root. Angka seperti 42 menjadi konten teks verbatim: 42.

Array Tingkat Atas

[{"id":1,"name":"Widget A","price":9.99},{"id":2,"name":"Widget B","price":14.99},{"id":3,"name":"Widget C","price":4.49}]

Ketika seluruh input adalah array JSON (tidak dibungkus dalam objek), konverter menghasilkan .... Setiap elemen array menjadi anak — "item" adalah nama literal tetap yang digunakan khusus untuk array tingkat atas. Ini adalah satu-satunya kasus di mana muncul; array di bawah kunci objek menggunakan kembali nama kunci untuk setiap elemen.

Objek dengan Atribut dan Konten Teks

{"catalog":{"product":{"@_id":"P01","@_category":"electronics","name":"Wireless Headphones","price":{"@_currency":"USD","#text":"79.99"}}}}

Kunci berprefix @_ menjadi atribut XML pada elemen: @_id menjadi id="P01" dan @_category menjadi category="electronics" pada elemen . Kunci #text menjadi konten teks elemen — sehingga objek price menghasilkan 79.99. Ini round-trip dengan bersih bersama konverter XML ke JSON, yang menggunakan konvensi @_ dan #text yang sama.

Cara Menggunakan

  1. 1

    Tempel JSON Anda

    Masukkan atau tempel data JSON ke kolom input di atas. Anda juga dapat klik 'Muat contoh' untuk mencoba sampel — objek respons API, payload array, atau objek menggunakan atribut @_ dan #text.

  2. 2

    Lihat Output XML Langsung

    XML muncul seketika di panel output. Objek dengan satu kunci menggunakan kunci sebagai root; objek dengan beberapa kunci dibungkus dalam ; kunci berprefix @_ menjadi atribut; array menjadi elemen anak berulang. Sesuaikan indent (2 atau 4 spasi) sesuai kebutuhan.

  3. 3

    Salin atau Unduh

    Klik Copy untuk mengambil XML ke clipboard, atau Download untuk menyimpannya sebagai file .xml. Untuk memvalidasi atau memformat ulang hasilnya, tempel ke XML Formatter.

Jebakan Konversi Umum

Objek dengan Beberapa Kunci Mendapat Pembungkus yang Tidak Terduga

Jika JSON tingkat atas Anda memiliki beberapa kunci, output membungkus semuanya dalam . Ini adalah XML yang benar (yang memerlukan satu root), tetapi mungkin tidak cocok dengan skema target Anda. Bentuk ulang JSON Anda menjadi objek dengan satu kunci untuk mengontrol nama elemen root.

✗ Salah
// Input: { "status": 200, "data": { "id": 1 } }
// Output: <root><status>200</status><data><id>1</id></data></root>
// Root is <root> — may not match your schema
✓ Benar
// Wrap in a named key to control the root element
// Input: { "response": { "status": 200, "data": { "id": 1 } } }
// Output: <response><status>200</status><data><id>1</id></data></response>

Array Tingkat Atas Mendapat Pembungkus

Array JSON tingkat atas tidak memiliki nama elemen, sehingga dibungkus sebagai .... Jika Anda menginginkan nama tag yang bermakna, bungkus array dalam objek bernama terlebih dahulu.

✗ Salah
// Input: [{ "id": 1 }, { "id": 2 }]
// Output: <root><item><id>1</id></item><item><id>2</id></item></root>
// Tag names are generic
✓ Benar
// Wrap in a named key for meaningful tag names
// Input: { "products": [{ "id": 1 }, { "id": 2 }] }
// Output: <root><products><id>1</id></products><products><id>2</id></products></root>
// Each array element reuses the key name "products" as its tag

Kunci Atribut Tidak Memiliki Prefiks @_

Untuk menghasilkan atribut XML, kunci JSON harus berprefix @_. Tanpa prefiks, kunci diperlakukan sebagai elemen anak, bukan atribut.

✗ Salah
// Input: { "tag": { "id": "42", "name": "Alice" } }
// Output: <tag><id>42</id><name>Alice</name></tag>  ← id is a child element
✓ Benar
// Use @_ prefix for attributes
// Input: { "tag": { "@_id": "42", "name": "Alice" } }
// Output: <tag id="42"><name>Alice</name></tag>  ← id is an attribute

Elemen dengan Atribut dan Teks — #text Tidak Ada

Jika Anda menginginkan elemen memiliki atribut XML dan konten teks, Anda harus menggunakan kunci #text untuk teks. Tanpanya, teks tidak memiliki tempat dan elemen akan kosong atau menghasilkan error.

✗ Salah
// Input: { "price": { "@_currency": "USD", "value": "29.99" } }
// Output: <price currency="USD"><value>29.99</value></price>
// Text is a child element, not text content
✓ Benar
// Use #text for element text content
// Input: { "price": { "@_currency": "USD", "#text": "29.99" } }
// Output: <price currency="USD">29.99</price>  ← text content

Kunci JSON dengan Karakter yang Tidak Valid untuk XML

Nama elemen XML tidak boleh dimulai dengan angka atau mengandung spasi, titik dua (kecuali untuk prefiks namespace), atau sebagian besar karakter khusus. Jika kunci JSON Anda mengandung karakter-karakter ini, output XML akan tidak valid. Ganti nama kunci yang bermasalah sebelum mengonversi, atau sanitasi dalam langkah pasca-pemrosesan.

✗ Salah
// JSON key starts with digit — invalid XML element name
// Input: { "1stItem": "value" }
// Output: <1stItem>value</1stItem>  ← invalid XML
✓ Benar
// Use a valid XML element name
// Input: { "firstItem": "value" }
// Output: <firstItem>value</firstItem>  ← valid XML

Karakter Khusus dalam Nilai yang Tidak Di-escape

Konten teks XML tidak boleh mengandung karakter mentah <, >, &, atau " — harus di-escape sebagai <, >, &, dan ". Konverter secara otomatis men-escape karakter-karakter ini dalam konten teks elemen dan nilai atribut. Jika pemrosesan hilir men-escape ganda, verifikasi bahwa parser XML Anda mengonsumsi byte XML mentah, bukan meng-escape kembali konten yang sudah di-escape.

✗ Salah
// JSON: { "query": "name = 'Alice' & role = 'admin'" }
// Converter outputs: <query>name = 'Alice' &amp; role = 'admin'</query>
// If double-processed: &amp;amp; — consumer is re-escaping
✓ Benar
// Converter output is correct — consume it as XML, not as a raw string
// <query>name = 'Alice' &amp; role = 'admin'</query>
// XML parser decodes to: name = 'Alice' & role = 'admin'

Kasus Penggunaan Umum

Memanggil Layanan Web SOAP dan XML Lama
Bangun payload JSON di aplikasi Anda, konversi ke XML, dan POST ke endpoint SOAP. Ini menghindari pembuatan string XML secara manual dan memungkinkan Anda bekerja dengan data dalam struktur JSON native hingga saat Anda perlu menserialisasinya untuk layanan lama.
Menghasilkan File Konfigurasi XML
Spring, Maven, Ant, Tomcat, dan Android semuanya menggunakan format konfigurasi XML. Hasilkan atau transformasikan data konfigurasi sebagai JSON — lebih mudah di-diff dan dikontrol versi — lalu konversi ke XML untuk deployment.
Menghasilkan Sitemap dan Feed RSS XML
Sistem manajemen konten dan generator situs statis sering menyimpan metadata halaman sebagai JSON. Konversi metadata tersebut ke sitemap.xml atau feed RSS XML untuk diserahkan ke mesin pencari atau menyindikasikan konten ke pembaca feed.
Integrasi Data Enterprise (EDI / ERP / CRM)
Sistem ERP (SAP, Oracle), platform CRM, dan jaringan EDI biasanya bertukar data dalam XML. Konversi ekspor JSON dari REST API modern ke XML untuk memberi makan sistem-sistem ini tanpa membangun serializer XML kustom.
File Resource Android
Resource string Android, batasan layout, dan entri manifest semuanya adalah XML. Hasilkan atau perbarui file resource secara programatik dari sumber data JSON dan konversi ke format XML yang diperlukan oleh sistem build Android.
Pembuatan SVG dan Grafis Vektor
SVG adalah XML. Bangun struktur SVG sebagai data JSON — path, bentuk, warna, transformasi — lalu konversi ke XML untuk menghasilkan file SVG yang valid untuk web, cetak, atau alat pengeditan vektor.

Detail Teknis

Parsing JSON Sesuai RFC 8259
Input JSON di-parse menggunakan JSON.parse() bawaan browser, yang sepenuhnya sesuai RFC 8259. Ini memberikan pesan error sintaks yang akurat dengan informasi posisi best-effort (baris dan kolom) dan menangani semua tipe data JSON: string, angka, boolean, null, array, dan objek.
Serializer JSON-ke-XML Rekursif Kustom
Setelah di-parse, serializer rekursif kustom menelusuri pohon JSON. Kunci objek yang dimulai dengan @_ dikeluarkan sebagai atribut XML pada elemen induk. Kunci #text dikeluarkan sebagai konten teks elemen. Kunci objek biasa menjadi elemen anak. Nilai array menghasilkan elemen saudara berulang dengan nama yang sama. Karakter khusus (<, >, &, ", ') dalam konten teks dan nilai atribut di-escape ke referensi entitas XML-nya.
Normalisasi Root
Karena XML memerlukan tepat satu elemen root, serializer menerapkan normalisasi root sebelum membangun dokumen: objek dengan satu kunci menggunakan kunci sebagai root; objek dengan beberapa kunci dan array tingkat atas menerima pembungkus sintetis. Ini memastikan output selalu XML well-formed terlepas dari bentuk input.
100% Berbasis Browser — Tanpa Upload, Tanpa Server
Semua pemrosesan berjalan di JavaScript engine browser Anda. Tidak ada data yang ditransmisikan melalui jaringan kapan pun. Input yang lebih besar dari 200KB secara otomatis beralih dari mode langsung ke mode manual (memerlukan klik Convert eksplisit) untuk menjaga browser tetap responsif selama serialisasi berat.

Praktik Terbaik

Kontrol Elemen Root dengan Objek Satu Kunci
Cara paling bersih untuk menghasilkan XML yang bermakna adalah memastikan JSON tingkat atas Anda adalah objek dengan satu kunci yang merupakan nama elemen root yang diinginkan. Membungkus data multi-kunci di bawah satu kunci bernama memberikan root yang bermakna secara semantis alih-alih pembungkus generik .
Gunakan @_ dan #text untuk XML yang Banyak Menggunakan Atribut
Jika skema XML target Anda menggunakan banyak atribut (umum dalam file konfigurasi, SVG, dan SOAP envelope), bentuk ulang JSON Anda untuk menggunakan kunci berprefix @_ dan #text sebelum mengonversi. XML yang dihasilkan akan cocok dengan skema target persis tanpa pasca-pemrosesan.
Bungkus Array dalam Objek Bernama untuk Nama Tag yang Bermakna
Array tingkat atas menghasilkan pola generik ..., di mana adalah nama literal tetap. Membungkus array di bawah kunci bernama — { "products": [...] } — menghasilkan elemen berulang (nama kunci digunakan kembali untuk setiap elemen array) di bawah pembungkus . Ini memberikan nama tag yang bermakna secara domain dan hampir selalu lebih disukai untuk XML yang akan di-parse atau divalidasi oleh skema.
Validasi Output dengan XML Formatter
Setelah mengonversi, tempel output XML ke XML Formatter untuk memvalidasi well-formedness, memeriksa indentasi, dan mengidentifikasi masalah struktural apa pun sebelum mengirim XML ke layanan hilir atau melakukan commit ke version control.
Sanitasi Kunci JSON Sebelum Mengonversi
Nama elemen XML harus dimulai dengan huruf atau garis bawah dan tidak boleh mengandung spasi atau sebagian besar karakter khusus. Jika kunci JSON Anda berasal dari sumber eksternal (nama kolom database, nama field API, atau input pengguna), audit untuk validitas nama XML sebelum mengonversi guna menghindari output yang tidak valid.

Pertanyaan yang Sering Diajukan

Apakah data JSON saya dikirim ke server saat menggunakan alat ini?
Tidak. Semua konversi terjadi sepenuhnya di dalam browser Anda menggunakan JavaScript. JSON Anda tidak pernah ditransmisikan melalui jaringan, tidak pernah disimpan di server mana pun, dan tidak pernah dicatat atau dianalisis. Ini membuat alat aman untuk digunakan dengan payload JSON yang berisi kredensial API, konfigurasi database, data layanan internal, atau konten sensitif lainnya. Anda dapat memverifikasi ini dengan membuka tab Network browser Anda — Anda akan melihat nol permintaan yang dipicu saat menempel atau mengonversi JSON.
Bagaimana alat menentukan apa elemen root XML?
XML memerlukan tepat satu elemen root; JSON tidak memiliki batasan seperti itu. Konverter menerapkan aturan-aturan ini: (1) Objek dengan satu kunci menggunakan kunci tersebut sebagai nama elemen root — { "user": { ... } } menjadi .... (2) Objek dengan beberapa kunci (dua atau lebih kunci di tingkat atas) dibungkus dalam elemen sehingga semua kunci menjadi anak dari satu root. (3) Array tingkat atas dibungkus sebagai ..., dengan setiap elemen array menjadi anak . (4) Nilai primitif (string, angka, boolean, null) di tingkat atas menjadi nilai. Aturan-aturan ini menjamin outputnya selalu XML well-formed dengan tepat satu root.
Mengapa objek JSON dengan beberapa kunci dibungkus dalam ?
XML adalah format dokumen dengan persyaratan single-root yang ketat — dokumen XML yang valid harus memiliki tepat satu elemen tingkat atas. Objek JSON dapat memiliki sejumlah kunci tingkat atas, jadi ketika JSON Anda memiliki beberapa kunci tingkat atas (seperti { "status": 200, "data": {...}, "meta": {...} }), tidak ada satu kunci yang dapat digunakan sebagai root. Membungkus dalam adalah konvensi paling aman dan paling dapat diprediksi. Jika Anda menginginkan nama elemen root yang berbeda, bentuk ulang JSON Anda menjadi objek dengan satu kunci sebelum mengonversi — mis. { "response": { "status": 200, "data": {...} } }.
Bagaimana array JSON tingkat atas dikonversi ke XML?
Array tingkat atas dibungkus sebagai ....... Setiap elemen array menjadi anak — "item" adalah nama literal tetap yang hanya digunakan untuk array tingkat atas. Ini berbeda dari array yang bersarang di bawah kunci objek: jika Anda menulis { "products": [...] }, setiap elemen array menjadi elemen (menggunakan kembali nama kunci), bukan . Jika Anda menginginkan nama tag kustom untuk array tingkat atas, bungkus dalam objek bernama terlebih dahulu: { "products": [...] } memberikan elemen berulang.
Bagaimana cara mengonversi kunci JSON ke atribut XML?
Berikan prefiks kunci dengan @_ dan konverter akan mengeluarkannya sebagai atribut XML alih-alih elemen anak. Misalnya, { "tag": { "@_id": "42", "@_lang": "en", "#text": "Hello" } } menghasilkan Hello. Konvensi prefiks @_ adalah konvensi yang sama yang digunakan oleh fast-xml-parser (Node.js) dan xmltodict (Python), membuat output round-trip secara konsisten dengan library tersebut. Ini juga merupakan konvensi yang digunakan oleh alat pendamping Konverter XML ke JSON.
Untuk apa kunci #text digunakan?
Ketika sebuah elemen memerlukan atribut XML dan konten teks, Anda tidak dapat sekadar memetakan teks ke elemen anak — teks harus menjadi node teks milik elemen itu sendiri. Kunci #text dalam JSON Anda menjadi konten teks tersebut. Contoh: { "price": { "@_currency": "USD", "#text": "29.99" } } menghasilkan 29.99. Jika objek hanya memiliki kunci #text dan tidak ada kunci @_, tetap menghasilkan elemen teks biasa: { "note": { "#text": "hello" } } menjadi hello.
Apakah indentasi mempengaruhi struktur XML?
Tidak. Indentasi murni bersifat kosmetik — ini mengubah cara XML diformat untuk keterbacaan manusia tetapi tidak mempengaruhi struktur elemen, nilai atribut, atau konten teks. Pilih 2 spasi untuk output ringkas atau 4 spasi untuk output yang lebih mudah dibaca. Keduanya menghasilkan XML yang identik secara semantis. Sebagian besar parser XML memperlakukan node teks hanya-spasi di antara elemen sebagai spasi yang dapat diabaikan, sehingga XML berindentasi dan yang diminifikasi setara untuk tujuan parsing.
Bagaimana array JSON yang bersarang di dalam objek dikonversi ke XML?
Nilai array JSON di bawah kunci menghasilkan elemen anak berulang dengan nama yang sama, menggunakan kembali nama kunci untuk setiap elemen. Misalnya, { "items": [1, 2, 3] } menghasilkan tiga saudara — bukan . Demikian pula, { "products": [{"name":"A"},{"name":"B"}] } menghasilkan dua elemen , masing-masing berisi anak . Nama kunci digunakan apa adanya untuk setiap elemen array; tidak ada singularisasi yang terjadi. Satu-satunya tempat nama literal muncul adalah ketika seluruh input JSON adalah array tingkat atas (lihat di atas), di mana adalah nama fallback tetap.
Bagaimana cara mengonversi XML kembali ke JSON?
Gunakan alat pendamping Konverter XML ke JSON. Alat ini menerapkan konvensi @_ dan #text yang sama secara terbalik: atribut XML menjadi kunci JSON berprefix @_, konten teks elemen yang dipasangkan dengan atribut menjadi kunci #text, dan elemen saudara berulang dengan nama yang sama menjadi array JSON. Kedua alat simetris untuk kasus penggunaan round-trip.
Bisakah saya memvalidasi atau memformat output XML?
Ya — tempel output XML ke XML Formatter untuk memvalidasi well-formedness, menyesuaikan indentasi, atau meminifikasi. XML Formatter adalah alat yang tepat untuk memeriksa dan memoles XML setelah konverter ini menghasilkannya.
Apakah ada batas ukuran file untuk input JSON?
Tidak ada batas keras, tetapi input yang lebih besar dari 200KB secara otomatis beralih dari konversi langsung ke mode manual. Dalam mode manual tombol Convert muncul dan konversi hanya berjalan saat Anda mengkliknya — ini menjaga browser tetap responsif selama serialisasi berat. Untuk file JSON yang sangat besar (multi-megabyte), pertimbangkan alat command-line untuk performa lebih baik: node -e "const {XMLBuilder}=require('fast-xml-parser');console.log(new XMLBuilder({attributeNamePrefix:'@_'}).build(JSON.parse(require('fs').readFileSync('in.json','utf8'))))" atau skrip Python setara dengan xmltodict.
Tipe JSON apa yang didukung?
Semua enam tipe JSON didukung. Objek menjadi elemen XML dengan elemen anak. Array menjadi elemen saudara berulang dengan nama yang sama. String, angka, boolean, dan null menjadi konten teks elemen. Boolean dan null diserialisasi sebagai representasi string literalnya: true, false, dan konten kosong untuk null. Tidak ada konversi tipe yang diterapkan — angka ditulis ke konten teks XML persis seperti yang muncul dalam JSON, mempertahankan desimal dan presisi.