Utilia

Konverter JSON ke XML

Konversi JSON ke XML dan XML ke JSON di browser Anda, termasuk atribut, elemen berulang, dan CDATA. Tidak ada yang diunggah ke server.

Konversi

Cara menggunakan konverter JSON ke XML

  1. Pilih arahnya: JSON → XML atau XML → JSON.
  2. Tempel data Anda, atau klik Buka file untuk memuat file .json atau .xml (hingga 10 MB).
  3. Atur opsinya: Indentasi (2 spasi, 4 spasi, tab, atau Tanpa indentasi (ringkas)) untuk kedua arah; Elemen root dan Tambahkan deklarasi XML untuk JSON → XML; Konversi angka dan boolean untuk XML → JSON.
  4. Klik Konversi. Hasilnya juga diperbarui saat Anda mengetik, dan kesalahan menampilkan baris dan kolom tempat masalah ditemukan.
  5. Salin atau unduh hasilnya. Balik arah menaruh hasil kembali ke masukan sehingga Anda bisa memeriksa konversi bolak-baliknya.

Bagaimana JSON dipetakan ke XML

XML dan JSON tidak punya model data yang sama, sehingga setiap konverter mengikuti suatu konvensi. Alat ini memakai konvensi yang banyak dipakai dari pustaka fast-xml-parser:

JSON XML
{"title": "Dune"} <title>Dune</title>
{"book": {"@id": "42"}} <book id="42"/>
{"p": {"@lang": "en", "#text": "Hi"}} <p lang="en">Hi</p>
{"tag": ["a", "b"]} <tag>a</tag><tag>b</tag>
  • Key yang diawali @ menjadi atribut, dan key #text menyimpan teks elemen yang juga punya atribut.
  • Array menjadi elemen berulang dengan nama yang sama.
  • Dokumen XML membutuhkan tepat satu elemen root. Jika JSON Anda berupa objek dengan satu key yang nilainya objek, key itu menjadi root. Jika tidak, seluruh nilai dibungkus dalam elemen yang namanya ditentukan di Elemen root (root secara bawaan), dan item array tingkat atas menjadi elemen <item>.
  • Key yang bukan nama XML yang valid diperbaiki: spasi dan simbol menjadi _, dan nama yang diawali angka mendapat awalan _ ("1st place" → <_1st_place>).
  • null dan string kosong menghasilkan elemen kosong seperti <note/>. Karakter khusus (&, <, >, tanda kutip) di-escape.

Bagaimana XML dipetakan ke JSON

  • Atribut menjadi key berawalan @, dan teks campuran menjadi #text.
  • Elemen berulang menjadi array; elemen yang muncul sekali menjadi satu nilai.
  • Bagian CDATA digabung ke dalam teks, dan entitas seperti &amp; di-decode. Deklarasi XML, processing instruction, dan komentar dibuang.
  • Dengan Konversi angka dan boolean, <price>12.5</price> menjadi 12.5 dan true menjadi boolean, sedangkan nilai dengan angka nol di depan, seperti 007, tetap berupa string. Matikan opsi ini untuk mempertahankan setiap nilai sebagai teks.

Sebelum dikonversi, XML diperiksa apakah terbentuk dengan benar (well-formed): tag penutup yang hilang, tag yang tidak cocok, atau & yang tidak di-escape dilaporkan beserta baris dan kolomnya. Penjelasan detail dari parser bisa muncul dalam bahasa Inggris.

Pertanyaan yang sering diajukan

Apakah data saya dikirim ke server?

Tidak. Konversi berjalan sepenuhnya di browser Anda. Feed XML, pesan SOAP, dan file konfigurasi Anda tetap berada di komputer Anda.

Mengapa sebuah elemen menjadi array di satu file dan objek di file lain?

XML tidak menyatakan apakah suatu elemen berupa daftar. Jika <tag> muncul dua kali, elemen itu menjadi array; jika muncul sekali, menjadi satu nilai. Jika kode Anda mengharapkan array, tangani kedua kasus, atau tambahkan elemen kedua saat pengujian.

Mengapa konversi bolak-balik tidak selalu identik?

Sebagian informasi tidak punya padanan di sisi lain: komentar, urutan konten campuran, atau perbedaan antara array berisi satu elemen dan satu nilai tunggal. Untuk dokumen data pada umumnya, konversi JSON → XML → JSON mengembalikan struktur yang sama.

Bisakah saya memakai namespace?

Bisa. Nama berawalan seperti soap:Envelope dan atribut seperti @xmlns:soap dipertahankan apa adanya di kedua arah.

Apakah alat ini memvalidasi terhadap schema XSD?

Tidak. Alat ini memeriksa apakah XML terbentuk dengan benar, tetapi tidak memvalidasinya terhadap DTD atau schema XSD.