UltKit

Penukar XML ke JSON

Pindahkan data daripada respons SOAP, suapan RSS, fail konfigurasi atau eksport sistem lama ke dalam JSON yang dibaca terus oleh JavaScript, Python atau alat tanpa kod anda, tanpa perlu menulis penghurai sendiri.

Penukar Data

atau seret Fail CSV, TSV, TXT … ke sini ·

Maks 95 MB setiap fail· Sehingga 20 fail· Dipadam selepas 30 minit

Output

Fail diproses pada pelayan kami dan dipadam selepas 30 minit.

Cara menggunakan alat ini

  1. 1

    Muat naik fail XML

    Letakkan fail .xml pada kawasan muat naik, sehingga 20 fail setiap kumpulan dan 95 MB setiap satu. Setiap fail ditukar secara berasingan.

  2. 2

    Pilih format mudah dibaca atau padat

    Format kemas dihidupkan, yang mengindentasi JSON supaya mudah dibaca dan disemak. Matikannya di bawah Tetapan lanjutan untuk mendapatkan output satu baris yang paling kecil bagi payload API.

  3. 3

    Tukar dan gunakan JSON

    Tekan Tukar ke JSON, muat turun fail .json dan muatkannya dalam kod atau alat anda.

Muat naik XML dan tekan Tukar ke JSON: elemen menjadi kunci, elemen berulang menjadi tatasusunan, dan atribut disimpan sebagai kunci berawalan @, jadi tiada maklumat dalam teg yang hilang.

Siapa yang memerlukan penukar XML ke JSON

XML 1.0 menjadi Syor W3C pada Februari 1998, dan selama sedekad berikutnya ia menjadi cara sistem berkomunikasi: perkhidmatan web SOAP, suapan RSS dan Atom, dokumen Office, mesej perbankan, katalog produk. Banyak sistem itu masih beroperasi. JSON, yang ditakrifkan dalam RFC 8259, mengambil alih API web baharu kerana JavaScript membacanya tanpa pustaka penghurai dan kerana ia dipetakan terus kepada senarai dan kamus dalam hampir semua bahasa.

Jadi mereka yang menukar biasanya menghubungkan dua era ini. Pembangun bahagian hadapan menerima respons SOAP daripada penyedia pembayaran atau penghantaran dan mahukan objek biasa. Pembina automasi dalam Zapier atau Make menarik suapan XML pembekal ke dalam aliran yang paling sesuai dengan JSON. Jurutera data memindahkan fail konfigurasi daripada aplikasi Java lama, atau pelajar memerlukan suapan RSS sebagai JSON untuk projek kelas. Semuanya mahukan struktur yang sama tanpa kurungan sudut.

Tukar XML ke JSON: cara tag, atribut dan teks dipetakan

Input XML: satu pesanan dengan satu atribut, seorang pelanggan dan dua item
<order id="A-77">
  <customer>Nurul Huda</customer>
  <total currency="MYR">59.90</total>
  <item sku="0042">Lampu meja</item>
  <item sku="0108">Mentol LED</item>
</order>
Cara setiap bahagian pesanan di atas muncul dalam JSON
Binaan XMLContohHasil JSON
Elemen akar<order>Kunci peringkat atas order
Atributid="A-77""@id": "A-77"
Elemen dengan teks sahaja<customer>"customer": "Nurul Huda"
Teks beserta atribut<total currency="MYR">{"@currency": "MYR", "#text": "59.90"}
Elemen berulangdua teg <item>tatasusunan "item": [ … , … ]
Komen<!-- note -->Dibuang; JSON tiada komen

XML

Extensible Markup Language

XML ialah bahasa penanda untuk data berstruktur yang diterbitkan oleh W3C pada 1998. Ia menggunakan teg bersarang dengan atribut dan menyokong skema, ruang nama dan pengesahan, menjadikannya mantap untuk dokumen kompleks. Ia mendasari suapan RSS, SVG, dokumen Office, peta laman dan banyak pertukaran data perusahaan serta kerajaan. XML bertele-tele berbanding JSON, tetapi setiap bahasa pengaturcaraan dan banyak alat hamparan boleh membacanya.

Pemampatan
–
Ketelusan
–
Animasi
–
Diperkenalkan
1998 · W3C
Penukar XML

JSON

JavaScript Object Notation

JSON ialah format teks ringan untuk data berstruktur, dipopularkan oleh Douglas Crockford pada awal 2000-an dan dipiawaikan sebagai RFC 8259 dan ECMA-404. Ia mewakili objek, tatasusunan, rentetan, nombor, boolean dan null dengan sintaks yang mudah dibaca. Ia ialah format lalai untuk API web, fail konfigurasi dan pertukaran data antara aplikasi dalam hampir semua bahasa pengaturcaraan. Ia tidak mempunyai komen, tarikh atau skema terbina dalam, dan fail bersarang yang besar sukar dibaca tanpa pemapar.

Pemampatan
–
Ketelusan
–
Animasi
–
Diperkenalkan
2001 · Douglas Crockford
Penukar JSON

XML ditukar ke JSON apabila data daripada sistem lama atau perusahaan perlu sampai ke aplikasi web, skrip atau alat automasi: JSON dihuraikan secara natif dalam JavaScript dan dipetakan terus kepada kamus Python.

Ciri XML yang tiada tempat dalam JSON

Kedua-dua format menghuraikan pepohon, tetapi XML membawa tambahan yang tidak pernah ada dalam JSON. Ruang nama, yang ditakrifkan W3C pada 1999, membolehkan satu dokumen menggabungkan kosa kata seperti soap: dan xsi:; dalam JSON ia hanya kekal sebagai sebahagian daripada nama kunci. Komen dan arahan pemprosesan tiada tempat dan dibuang. Kandungan bercampur, iaitu teks diselang-seli dengan teg anak seperti perenggan XHTML dengan satu perkataan tebal, sah dalam XML tetapi menjadi janggal dalam JSON, jadi XML gaya dokumen lebih baik ditukar ke HTML atau Markdown berbanding JSON.

Susunan ialah perkara yang halus. XML mengekalkan elemen adik-beradik mengikut urutan, dan skema mungkin bergantung padanya; kunci objek JSON, menurut piawaian, tidak tersusun. Elemen berulang mengekalkan susunannya dalam tatasusunan, yang meliputi kebanyakan data sebenar. Jika XML ialah senarai rekod rata yang sepatutnya berakhir dalam hamparan dan bukan dalam kod, XML ke Excel memberi anda baris dan lajur terus, dan XML ke CSV menghasilkan fail untuk import pangkalan data.

Soalan tentang penukar XML ke JSON

Mengapakah satu elemen menjadi tatasusunan dalam satu fail tetapi objek dalam fail lain?

Penukar hanya melihat apa yang ada dalam dokumen. Jika sesuatu pesanan mempunyai tiga teg item, item menjadi tatasusunan; jika hanya satu, tiada apa yang berulang, jadi ia menjadi satu objek. Kod yang membaca JSON itu hendaklah menerima kedua-dua bentuk, atau membungkus objek tunggal dalam tatasusunan sebelum membuat gelung.

Bagaimanakah atribut XML ditulis dalam JSON?

Setiap atribut menjadi kunci dengan @ di hadapan namanya, jadi currency="MYR" menjadi "@currency": "MYR". Apabila sesuatu elemen mempunyai atribut dan teks, teks itu diletakkan dalam kunci #text di sebelahnya. Konvensyen ini mengelakkan pertembungan antara atribut dan elemen anak yang berkongsi nama.

Adakah nombor dalam XML ditukar menjadi nombor JSON?

XML tidak mempunyai jenis data sendiri; 42 dan "42" kelihatan sama dalam teg. Oleh itu nilai dikeluarkan sebagai rentetan, yang memelihara poskod dan ID seperti 007. Tukarkan medan yang diperlukan kod anda kepada nombor selepas penghuraian.

Apakah yang berlaku kepada awalan ruang nama seperti soap:Envelope?

Awalan kekal sebagai sebahagian daripada nama kunci, jadi sampul muncul sebagai soap:Envelope dan pengisytiharan ruang nama sebagai kunci @xmlns:soap. Ini mengekalkan elemen daripada kosa kata berlainan agar terasing; buang awalan dalam kod anda jika anda hanya menggunakan satu.

Bolehkah saya menukar JSON kembali ke XML selepas itu?

Boleh, dengan JSON ke XML. Mengikut konvensyen @ dan #text yang sama, atribut kembali sebagai atribut. Komen dan indentasi asal tidak kembali, kerana JSON tidak pernah menyimpannya.