JSON ถึง ตัวแปลง XML
แปลง JSON เป็น XML ทันที รองรับแท็กรูทแบบกำหนดเองและการเยื้องเพื่อเอาต์พุตที่มีโครงสร้างที่สะอาดตา
แปลง JSON เป็น XML ทันที รองรับแท็กรูทแบบกำหนดเองและการเยื้องเพื่อเอาต์พุตที่มีโครงสร้างที่สะอาดตา
การแปลง JSON เป็น XML เป็นสิ่งที่ตรงกันข้ามกับทิศทาง XML เป็น JSON ทั่วไป การแปลงเป็นไปอย่างตรงไปตรงมา — เปลี่ยนแต่ละออบเจ็กต์ JSON ให้เป็นองค์ประกอบ XML, แต่ละคีย์เป็นแท็กย่อย, แต่ละค่าเป็นข้อความขององค์ประกอบ — แต่ XML กำหนดกฎโครงสร้างที่ JSON ไม่มี คีย์ที่มีอักขระพิเศษไม่สามารถกลายเป็นชื่อองค์ประกอบได้ อาร์เรย์จำเป็นต้องมีการแสดงที่สอดคล้องกัน ค่าที่เป็นวัตถุจำเป็นต้องมีโครงสร้างที่ซ้อนกันของตัวเอง
ตัวแปลงนี้ใช้แบบแผนที่ใกล้เคียงกับเครื่องมือ XML-to-JSON ส่วนใหญ่ดังต่อไปนี้: คีย์ที่นำหน้าด้วย @ กลายเป็นแอตทริบิวต์ในองค์ประกอบหลัก คีย์ชื่อ #text ระบุเนื้อหาข้อความขององค์ประกอบ อาร์เรย์สร้างองค์ประกอบซ้ำด้วยชื่อเดียวกัน การปฏิบัติตามแบบแผนนี้จะทำให้การเดินทางไปกลับสอดคล้องกันหากคุณสร้าง JSON จาก XML ในตอนแรก
XML เอาท์พุตมีรูปแบบที่ดีโดยโครงสร้าง: ทุกองค์ประกอบปิดอย่างถูกต้อง ค่าแอตทริบิวต์เป็นหลีกเครื่องหมายคำพูด และเนื้อหาข้อความเป็นหลีกสำหรับอักขระพิเศษ XML (&, <, >) ผลลัพธ์จะเปิดขึ้นอย่างชัดเจนในตัวแยกวิเคราะห์ XML เครื่องมือตรวจสอบ หรือเครื่องมือที่ใช้ XML
ระบบที่จัดตั้งขึ้นหลายแห่งยังคงคาดหวัง XML แม้ว่าอินพุตจะมาจากไปป์ไลน์ที่สร้าง JSON สมัยใหม่ก็ตาม บริการ SOAP, การบูรณาการระดับองค์กร, ผู้เผยแพร่ RSS, การส่งข้อมูลของรัฐบาล และซอฟต์แวร์รุ่นเก่าอื่นๆ ยอมรับ XML และปฏิเสธ JSON การเปลี่ยนแปลงนี้เชื่อมโยงผู้ผลิตสมัยใหม่เข้ากับผู้บริโภคแบบดั้งเดิม
XML ยังรองรับฟีเจอร์ที่ JSON ไม่มีอยู่แล้ว เช่น เนมสเปซ สคีมา (XSD) คำแนะนำในการประมวลผล และการตรวจสอบความถูกต้องอย่างเป็นทางการแบบดั้งเดิม สำหรับระบบที่คุณลักษณะเหล่านี้มีความสำคัญ (ลายเซ็น XML, การแลกเปลี่ยนข้อมูลที่ได้รับการตรวจสอบอย่างเป็นทางการ, ข้อจำกัดของสคีมาที่ซับซ้อน) การสร้างเอาต์พุต XML ยังคงเป็นตัวเลือกที่เหมาะสม
วาง JSON รับ XML
ตัวแปลงจะเดินค่า JSON ซ้ำๆ วัตถุกลายเป็นองค์ประกอบ สำหรับแต่ละคีย์ในออบเจ็กต์ คำนำหน้า @ หมายความว่าคีย์ถูกแปลงเป็นแอตทริบิวต์ในองค์ประกอบหลัก # text ให้เนื้อหาข้อความขององค์ประกอบ และคีย์ธรรมดาจะกลายเป็นองค์ประกอบย่อยโดยมีค่าที่เรียกซ้ำในการแปลงเดียวกัน
อาร์เรย์จะถูกแปลงเป็นองค์ประกอบพี่น้องที่ซ้ำกัน อาร์เรย์ภายใต้รายการคีย์ใน JSON จะสร้างหนึ่งองค์ประกอบ <items> ต่อรายการอาร์เรย์ในพาเรนต์ ซึ่งตรงกับวิธีที่ตัวแปลง XML เป็น JSON เป็นตัวแทนคอลเลกชันที่มีหลายองค์ประกอบ
ชื่อองค์ประกอบที่อาจไม่ถูกต้องใน XML (ประกอบด้วยช่องว่าง อักขระพิเศษ หรือขึ้นต้นด้วยตัวเลข) จะถูกทำให้สะอาด: ช่องว่างจะกลายเป็นขีดล่าง อักขระที่ไม่ถูกต้องจะถูกตัดออก และชื่อที่นำหน้าด้วยตัวเลขจะถูกนำหน้า ค่าแอตทริบิวต์และข้อความเป็นแบบหลีก XML (& กลายเป็น &, < กลายเป็น < ฯลฯ) เพื่อให้เอาต์พุตมีรูปแบบที่ถูกต้อง