Penukar Percuma

XML ke Penukar JSON

Tukar data atau fail XML kepada format JSON serta-merta dalam penyemak imbas anda. Menyokong lekukan tersuai dan mengendalikan struktur bersarang.

Pilih fail XML

atau seret dan lepaskan di sini

Ataupun

Tentang alat ini

XML dan JSON adalah kedua-dua format pertukaran data tetapi datang dari era web yang berbeza. XML, diseragamkan pada tahun 1998, telah direka bentuk sebagai format penanda yang menerangkan sendiri dengan atribut, ruang nama dan pengesahan skema. JSON muncul pada awal tahun 2000-an sebagai format ringan yang lebih sesuai untuk masa jalan JavaScript dan API moden. Kebanyakan API web baharu bercakap JSON; banyak sistem lama — perkhidmatan SOAP, suapan RSS, fail konfigurasi, integrasi perusahaan — masih menghasilkan XML. Menukar antara mereka adalah salah satu tugas interop yang paling biasa dalam pembangunan moden.

Penukaran bukanlah tanpa kerugian kerana kedua-dua format mempunyai kuasa ekspresif yang berbeza. XML mempunyai atribut (yang bukan JSON asli), membezakan antara kandungan teks dan nama elemen dan menyokong kandungan bercampur (elemen yang mengandungi kedua-dua elemen teks dan anak). Model objek/tatasusunan mudah JSON tidak boleh mewakili ciri ini secara langsung, jadi penukar menggunakan konvensyen: atribut menjadi kunci @-prefixed, kandungan teks menjadi kunci #teks dan seterusnya.

Penukar ini menghuraikan XML menggunakan DOMParser terbina dalam penyemak imbas dan menjalankan pepohon DOM yang terhasil untuk menghasilkan JSON. Elemen dengan nama tag yang sama seperti adik-beradik dikumpulkan ke dalam tatasusunan; atribut masuk ke kunci khas; ruang nama dan arahan pemprosesan disimpan apabila ada. Hasilnya ialah JSON yang boleh dibaca manusia yang pergi balik dengan munasabah ke XML.

Mengapa Tukar XML kepada JSON

Kebanyakan kod aplikasi moden lebih selesa dengan JSON. JavaScript menghuraikan JSON secara asli, modul json Python berada dalam pustaka standard, dan hampir setiap bahasa lain mempunyai sokongan JSON kelas pertama yang setara. Pemprosesan XML memerlukan pengimportan perpustakaan tambahan dan menulis lebih banyak boilerplate. Menukar XML masuk kepada JSON sebelum pemprosesan selalunya merupakan laluan terpantas daripada suapan XML luaran kepada struktur data dalaman.

Perkakas juga menyandarkan JSON. Pengindah, pengesah, pengesah skema, bahasa pertanyaan (jq, JSONPath) dan penonton JSON adalah banyak; setara XML adalah lebih sedikit dan kerap lebih lama. Bekerja dalam JSON membuka kunci ekosistem alatan yang lebih kaya.

Cara menggunakan

Tampal XML, dapatkan JSON.

  1. Tampal atau muat naik XML anda: Tampal teks XML ke dalam kawasan input atau lepaskan fail. XML mesti dibentuk dengan baik; XML yang cacat menghasilkan ralat penghuraian dan bukannya tekaan.
  2. Tukar: DOMParser membina DOM, penukar menjalankan setiap elemen dan JSON dijana menggunakan kekunci atribut (@attr) dan kekunci kandungan teks (#text) jika diperlukan. Unsur adik beradik dengan nama yang sama menjadi tatasusunan.
  3. Semak struktur: Periksa JSON untuk mengesahkan atribut, teks dan sarang dipetakan seperti yang diharapkan. Konvensyen yang digunakan (cth., @ untuk atribut) boleh dilihat dalam output.
  4. Muat turun atau salin: Simpan sebagai .json atau salin ke papan keratan.

Kes Penggunaan Biasa

Butiran Teknikal

DOMParser menghasilkan DOM XML yang sama dengan apa yang digunakan oleh penyemak imbas untuk halaman XHTML. Penukar menjalankan DOM ini secara rekursif. Untuk setiap elemen ia mencipta objek JSON: atribut menjadi kunci yang diawali dengan @ (cth., @id, @class); elemen anak elemen diulang ke dalam struktur yang sama; kandungan teks, apabila hadir bersama kanak-kanak, hidup di bawah kunci #teks.

Elemen anak berulang dengan nama teg yang sama dikumpulkan ke dalam tatasusunan JSON. Anak tunggal dari nama yang diberikan muncul sebagai nilai objek; berbilang kanak-kanak muncul sebagai susunan objek. Konvensyen ini berfungsi dengan baik dalam amalan tetapi bermakna bentuk JSON bergantung pada sama ada elemen muncul sekali atau beberapa kali — ketidaksempurnaan pemetaan XML-ke-JSON yang diketahui.

Ruang nama dikekalkan sebagai sebahagian daripada nama unsur (awalan:localName). Arahan pemprosesan dan bahagian CDATA ditukar kepada kandungan teks. Pengisytiharan XML dan DOCTYPE dilucutkan daripada output JSON tetapi tidak menjejaskan data.

Amalan Terbaik

Soalan lazim

Adakah penukaran XML kepada JSON mengubah kandungan?
Kandungannya dipelihara setepat mungkin. Walau bagaimanapun, sesetengah ciri khusus format mungkin tidak mempunyai persamaan langsung, jadi perbezaan pemformatan kecil boleh berlaku.
Mengapa menukar data kepada format JSON?
JSON ialah format data standard untuk API web dan aplikasi JavaScript. Ia boleh dibaca oleh manusia, disokong secara meluas oleh bahasa pengaturcaraan, dan mempunyai sintaks yang lebih mudah daripada XML.
Adakah penukar mengendalikan struktur XML bersarang atau kompleks?
ya. Alat ini menghuraikan objek bersarang, tatasusunan dan semua jenis data XML standard dengan betul, mengekalkan struktur data penuh dalam output JSON.
Adakah penukaran ini selamat dan peribadi?
ya. Semua pemprosesan berlaku secara setempat dalam penyemak imbas anda. Data anda tidak pernah meninggalkan peranti anda — tiada muat naik pelayan, tiada pemprosesan awan, tiada pengumpulan data.
Adakah bahagian CDATA dikendalikan?
ya. Kandungan CDATA ditukar kepada teks biasa dalam output JSON. Pembalut CDATA itu sendiri tidak dipelihara, tetapi kandungannya.
Adakah data saya dimuat naik ke pelayan?
Tidak. DOMParser berjalan dalam penyemak imbas anda; penukaran berlaku sepenuhnya pada peranti anda.
Adakah JSON pergi balik ke XML?
Ya jika anda menggunakan konvensyen songsang (alat JSON ke XML mengikut peraturan @attr dan #text yang sama). Perjalanan pergi dan balik mengekalkan struktur untuk XML biasa; sesetengah kes tepi (urutan kandungan campuran, arahan pemprosesan) mungkin tidak dapat bertahan dengan sempurna.
Apakah saiz input maksimum?
Sehingga 50 MB. DOMParser dibatasi memori oleh penyemak imbas anda; fail XML yang sangat besar mungkin perlahan atau gagal dihuraikan.