Langsung ke konten utama
PulsarKit

Ubah JSON ke XML

Buat dokumen XML yang valid dari JSON: nama tag root dan item Anda tentukan sendiri, dan kunci yang tidak diterima XML diperbaiki, bukan dibuang.

Letakkan file di sini

.json, .ndjson, .txt · hingga 300 MB

Pengaturan lainnya

Cara Ubah ke XML

  1. 1

    Letakkan file JSON

    Tambahkan satu file atau hingga dua puluh file. Teksnya dibaca dan diurai di dalam tab browser ini, dan kesalahan sintaks menyebut baris dan kolom yang tepat.

  2. 2

    Beri nama tag root dan item

    Root membungkus seluruh dokumen; nama item dipakai ulang untuk setiap elemen array. Kunci yang diawali awalan atribut menjadi atribut.

  3. 3

    Ubah dan unduh XML

    Tekan tombol untuk mendapatkan dokumen berindentasi lengkap dengan deklarasi XML. Beberapa file sekaligus dikembalikan sebagai satu arsip ZIP.

Kunci yang tidak diterima XML sebagai nama tag

Kunci objek JSON nyaris tanpa batasan; nama elemen XML tidak. “2024 sales”, “order id”, dan string kosong semuanya kunci yang sah, tetapi tidak satu pun bisa ditulis sebagai tag. Membuang field itu tanpa pemberitahuan berarti kehilangan data, jadi karakter yang tidak valid menjadi garis bawah, nama yang diawali angka mendapat huruf n di depan, dan daftar lengkap nama lama dan nama baru diberikan bersama hasilnya.

Karakter yang sama sekali dilarang XML

Escape mengatasi ampersand dan kurung sudut. Karakter kontrol di bawah 0x20 adalah masalah lain: XML 1.0 menolaknya bagaimanapun cara penulisannya, dan baik entitas maupun blok CDATA tidak bisa menyelamatkannya. Satu 0x0B nyasar yang tertempel dari sel spreadsheet akan membuat seluruh dokumen tidak bisa diurai, jadi byte semacam itu dibuang dan dihitung, dan jumlahnya ditampilkan di samping hasil.

Atribut, node teks, dan null

Kunci yang diawali awalan atribut, bawaannya @_, menjadi atribut elemen induknya, bukan elemen anak, dan kunci teks membawa teks milik elemen itu sendiri. JSON punya null, sedangkan XML tidak punya padanannya, jadi pilihannya ada pada Anda: elemen kosong, elemen bertanda xsi:nil, atau tanpa elemen sama sekali.

File tidak pernah keluar dari tab ini

Pembacaan file, penguraian JSON, perbaikan nama, dan penulisan XML semuanya berlangsung di browser, di thread terpisah (worker), memakai kode yang dikirim bersama halaman. Tidak ada tahap unggah, tidak ada antrean pemrosesan, dan tidak perlu akun. Tutup tab dan file pun hilang, karena salinannya tidak pernah dibuat di tempat lain.

Pertanyaan yang sering diajukan

Bagaimana cara mengatur nama elemen root?

Nama root adalah kolom isian pertama di halaman, dengan nilai bawaan root. Nama itu harus berupa nama XML yang sah (huruf, angka, titik, tanda hubung, dan garis bawah, tidak diawali angka atau awalan khusus xml), dan Anda langsung diberi tahu jika tidak sah, beserta saran perbaikannya.

Bagaimana cara mengubah kunci JSON menjadi atribut XML?

Tambahkan @_ di depan kunci di JSON, dan kunci itu menjadi atribut elemen yang melingkupinya, bukan tag bersarang. Awalan bisa diatur hingga tiga karakter, dan mengosongkannya mematikan pemetaan atribut sepenuhnya, sehingga setiap kunci menjadi elemen.

Apa yang terjadi pada kunci yang bukan nama tag XML yang valid?

Secara bawaan kunci itu diperbaiki: karakter yang tidak sah menjadi garis bawah, angka di awal mendapat awalan n, dan kunci kosong diganti dengan nama item. Anda mendapat peringatan berisi daftar nama yang diganti. Anda juga bisa menerapkan semua perbaikan tanpa peringatan, atau justru berhenti dengan pesan kesalahan pada kunci bermasalah yang pertama.

Apa yang terjadi pada nilai null?

Ada tiga opsi. Elemen kosong membuat field tetap terlihat di dokumen. xsi:nil menandainya sebagai null secara eksplisit, seperti yang diharapkan program yang membaca skema, dan mendeklarasikan namespace di root. Opsi lewati menghilangkan field itu. Elemen kosong menjadi bawaan karena paling mudah diprediksi saat data dikonversi bolak-balik.

Kapan saya perlu CDATA?

Jarang, karena escape biasa selalu benar. CDATA terutama untuk keterbacaan jika nilai berisi banyak teks yang mirip markup: aktifkan, dan string lebih dari 200 karakter, atau string yang berisi kurung sudut dan ampersand, dimasukkan ke blok CDATA. ]]> harfiah di dalam nilai seperti itu dipecah ke dua blok agar hasilnya tetap valid.

Apakah urutan kunci dipertahankan?

Ya. Elemen ditulis sesuai urutan kunci di JSON sumber, dan elemen array mempertahankan urutan indeksnya. Atribut ditulis sebelum elemen anak karena XML mengharuskannya, tetapi di antara sesama atribut urutan sumber juga diikuti. Dengan begitu hasilnya cukup stabil untuk dibandingkan dengan diff antarproses.

Apakah file saya diunggah ke suatu tempat?

Tidak. Semuanya terjadi di tab browser, dan parser JSON serta penulis XML adalah bagian dari halaman, bukan layanan di suatu tempat. Tidak ada server yang bisa menerima file, jadi tidak ada yang disimpan, dicatat, atau tertinggal setelah tab ditutup.

Alat terkait