JSON kepada Penukar XML
Tukar JSON kepada XML serta-merta. Menyokong tag akar tersuai dan lekukan untuk keluaran yang bersih dan berstruktur.
Tukar JSON kepada XML serta-merta. Menyokong tag akar tersuai dan lekukan untuk keluaran yang bersih dan berstruktur.
Menukar JSON kepada XML ialah songsang bagi arah XML-ke-JSON yang lebih biasa. Penukaran adalah mudah dalam semangat — ubah setiap objek JSON menjadi elemen XML, setiap kunci menjadi teg anak, setiap nilai ke dalam teks elemen — tetapi XML mengenakan peraturan struktur JSON tidak mempunyai. Kekunci dengan aksara khas tidak boleh menjadi nama elemen; tatasusunan memerlukan perwakilan yang konsisten; nilai yang merupakan objek memerlukan struktur bersarang mereka sendiri.
Penukar ini menggunakan konvensyen yang hampir dengan alat XML-ke-JSON yang paling banyak diikuti: kekunci yang diawali dengan @ menjadi atribut pada elemen induk; kunci bernama #text membekalkan kandungan teks elemen; tatasusunan menghasilkan elemen berulang dengan nama yang sama. Mengikuti konvensyen ini memastikan perjalanan pergi balik konsisten jika anda pada asalnya menghasilkan JSON daripada XML.
Output XML dibentuk dengan baik oleh pembinaan: setiap elemen ditutup dengan betul, nilai atribut dilepaskan petikan, dan kandungan teks dilarikan untuk aksara khas XML (&, <, >). Hasilnya terbuka dengan bersih dalam mana-mana penghurai XML, pengesah atau alat yang menggunakan XML.
Banyak sistem yang mantap masih mengharapkan XML walaupun inputnya datang daripada saluran paip pengeluar JSON moden. Perkhidmatan SOAP, penyepaduan perusahaan, penerbit RSS, penyerahan data kerajaan, dan perisian warisan yang panjang menerima XML dan menolak JSON. Penukaran itu merapatkan pengeluar moden kepada pengguna legasi.
XML juga menyokong ciri JSON tidak mempunyai asli — ruang nama, skema (XSD), arahan pemprosesan dan tradisi pengesahan rasmi yang kukuh. Untuk sistem yang ciri ini penting (tandatangan XML, pertukaran data yang disahkan secara rasmi, kekangan skema kompleks), menjana output XML kekal sebagai pilihan yang tepat.
Tampal JSON, dapatkan XML.
Penukar menjalankan nilai JSON secara rekursif. Objek menjadi unsur; untuk setiap kunci dalam objek, awalan @ bermaksud kunci ditukar kepada atribut pada elemen induk, # teks membekalkan kandungan teks elemen dan kunci biasa menjadi elemen kanak-kanak dengan nilai berulang kepada penukaran yang sama.
Tatasusunan ditukar kepada elemen adik beradik berulang. Tatasusunan di bawah item utama dalam JSON menghasilkan satu <item> elemen bagi setiap item tatasusunan dalam induk. Ini sepadan dengan cara penukar XML-ke-JSON mewakili koleksi berbilang elemen.
Nama elemen yang akan menjadi tidak sah dalam XML (mengandungi ruang, aksara khas atau bermula dengan digit) dibersihkan: ruang menjadi garis bawah, aksara tidak sah dilucutkan dan nama pendahuluan digit diberi awalan. Nilai atribut dan teks adalah XML-melarikan diri (& menjadi &, < menjadi <, dsb.) untuk memastikan output terbentuk dengan baik.