แปลงฟรี

JSON ถึง ตัวแปลง XML

แปลง JSON เป็น XML ทันที รองรับแท็กรูทแบบกำหนดเองและการเยื้องเพื่อเอาต์พุตที่มีโครงสร้างที่สะอาดตา

หรือ

เกี่ยวกับเครื่องมือนี้

การแปลง JSON เป็น XML เป็นสิ่งที่ตรงกันข้ามกับทิศทาง XML เป็น JSON ทั่วไป การแปลงเป็นไปอย่างตรงไปตรงมา — เปลี่ยนแต่ละออบเจ็กต์ JSON ให้เป็นองค์ประกอบ XML, แต่ละคีย์เป็นแท็กย่อย, แต่ละค่าเป็นข้อความขององค์ประกอบ — แต่ XML กำหนดกฎโครงสร้างที่ JSON ไม่มี คีย์ที่มีอักขระพิเศษไม่สามารถกลายเป็นชื่อองค์ประกอบได้ อาร์เรย์จำเป็นต้องมีการแสดงที่สอดคล้องกัน ค่าที่เป็นวัตถุจำเป็นต้องมีโครงสร้างที่ซ้อนกันของตัวเอง

ตัวแปลงนี้ใช้แบบแผนที่ใกล้เคียงกับเครื่องมือ XML-to-JSON ส่วนใหญ่ดังต่อไปนี้: คีย์ที่นำหน้าด้วย @ กลายเป็นแอตทริบิวต์ในองค์ประกอบหลัก คีย์ชื่อ #text ระบุเนื้อหาข้อความขององค์ประกอบ อาร์เรย์สร้างองค์ประกอบซ้ำด้วยชื่อเดียวกัน การปฏิบัติตามแบบแผนนี้จะทำให้การเดินทางไปกลับสอดคล้องกันหากคุณสร้าง JSON จาก XML ในตอนแรก

XML เอาท์พุตมีรูปแบบที่ดีโดยโครงสร้าง: ทุกองค์ประกอบปิดอย่างถูกต้อง ค่าแอตทริบิวต์เป็นหลีกเครื่องหมายคำพูด และเนื้อหาข้อความเป็นหลีกสำหรับอักขระพิเศษ XML (&, <, >) ผลลัพธ์จะเปิดขึ้นอย่างชัดเจนในตัวแยกวิเคราะห์ XML เครื่องมือตรวจสอบ หรือเครื่องมือที่ใช้ XML

ทำไมต้องแปลง JSON เป็น XML

ระบบที่จัดตั้งขึ้นหลายแห่งยังคงคาดหวัง XML แม้ว่าอินพุตจะมาจากไปป์ไลน์ที่สร้าง JSON สมัยใหม่ก็ตาม บริการ SOAP, การบูรณาการระดับองค์กร, ผู้เผยแพร่ RSS, การส่งข้อมูลของรัฐบาล และซอฟต์แวร์รุ่นเก่าอื่นๆ ยอมรับ XML และปฏิเสธ JSON การเปลี่ยนแปลงนี้เชื่อมโยงผู้ผลิตสมัยใหม่เข้ากับผู้บริโภคแบบดั้งเดิม

XML ยังรองรับฟีเจอร์ที่ JSON ไม่มีอยู่แล้ว เช่น เนมสเปซ สคีมา (XSD) คำแนะนำในการประมวลผล และการตรวจสอบความถูกต้องอย่างเป็นทางการแบบดั้งเดิม สำหรับระบบที่คุณลักษณะเหล่านี้มีความสำคัญ (ลายเซ็น XML, การแลกเปลี่ยนข้อมูลที่ได้รับการตรวจสอบอย่างเป็นทางการ, ข้อจำกัดของสคีมาที่ซับซ้อน) การสร้างเอาต์พุต XML ยังคงเป็นตัวเลือกที่เหมาะสม

วิธีใช้งาน

วาง JSON รับ XML

  1. เพิ่ม JSON ของคุณ: วางข้อความ JSON ลงในพื้นที่ป้อนข้อมูลหรือวางไฟล์ JSON จะต้องถูกต้อง อินพุตที่มีรูปแบบไม่ถูกต้องทำให้เกิดข้อผิดพลาด
  2. เลือกชื่อองค์ประกอบราก: หาก JSON ของคุณมีออบเจ็กต์ระดับบนสุดเพียงรายการเดียว คีย์นั้นจะกลายเป็นองค์ประกอบรูทโดยอัตโนมัติ สำหรับอาร์เรย์ระดับบนสุดหรือพื้นฐาน ให้ระบุชื่อรูทอย่างชัดเจน
  3. แปลง: ตัวแปลงจะเดินตามแผนผัง JSON แมปคีย์กับชื่อองค์ประกอบ คีย์ @-prefix ไปยังแอตทริบิวต์ และ #text กับเนื้อหาข้อความ อาร์เรย์สร้างองค์ประกอบพี่น้องที่ซ้ำกัน
  4. ดาวน์โหลดหรือคัดลอก: บันทึกเป็น .xml หรือคัดลอก เอาต์พุตมีรูปแบบ XML ที่ดีพร้อมสำหรับผู้ใช้ XML ทุกคน

กรณีการใช้งานทั่วไป

รายละเอียดทางเทคนิค

ตัวแปลงจะเดินค่า JSON ซ้ำๆ วัตถุกลายเป็นองค์ประกอบ สำหรับแต่ละคีย์ในออบเจ็กต์ คำนำหน้า @ หมายความว่าคีย์ถูกแปลงเป็นแอตทริบิวต์ในองค์ประกอบหลัก # text ให้เนื้อหาข้อความขององค์ประกอบ และคีย์ธรรมดาจะกลายเป็นองค์ประกอบย่อยโดยมีค่าที่เรียกซ้ำในการแปลงเดียวกัน

อาร์เรย์จะถูกแปลงเป็นองค์ประกอบพี่น้องที่ซ้ำกัน อาร์เรย์ภายใต้รายการคีย์ใน JSON จะสร้างหนึ่งองค์ประกอบ <items> ต่อรายการอาร์เรย์ในพาเรนต์ ซึ่งตรงกับวิธีที่ตัวแปลง XML เป็น JSON เป็นตัวแทนคอลเลกชันที่มีหลายองค์ประกอบ

ชื่อองค์ประกอบที่อาจไม่ถูกต้องใน XML (ประกอบด้วยช่องว่าง อักขระพิเศษ หรือขึ้นต้นด้วยตัวเลข) จะถูกทำให้สะอาด: ช่องว่างจะกลายเป็นขีดล่าง อักขระที่ไม่ถูกต้องจะถูกตัดออก และชื่อที่นำหน้าด้วยตัวเลขจะถูกนำหน้า ค่าแอตทริบิวต์และข้อความเป็นแบบหลีก XML (& กลายเป็น &amp;, < กลายเป็น &lt; ฯลฯ) เพื่อให้เอาต์พุตมีรูปแบบที่ถูกต้อง

แนวทางปฏิบัติที่ดีที่สุด

คำถามที่พบบ่อย

การแปลง JSON เป็น XML เปลี่ยนแปลงเนื้อหาหรือไม่
เนื้อหาจะถูกเก็บรักษาไว้อย่างถูกต้องที่สุด อย่างไรก็ตาม คุณลักษณะเฉพาะบางรูปแบบอาจไม่เทียบเท่าโดยตรง ดังนั้นการจัดรูปแบบเล็กน้อยจึงอาจเกิดขึ้นได้
รูปแบบ XML ใช้ทำอะไร?
XML (Extensible Markup Language) ใช้สำหรับข้อมูลที่มีโครงสร้างเป็นหลักซึ่งมีสคีมาที่กำหนดเอง, SOAP API, ฟีด RSS
ตัวแปลงจัดการโครงสร้าง JSON ที่ซ้อนกันหรือซับซ้อนหรือไม่
ใช่. เครื่องมือนี้แยกวิเคราะห์ออบเจ็กต์ที่ซ้อนกัน อาร์เรย์ และประเภทข้อมูล JSON มาตรฐานทั้งหมดอย่างถูกต้อง โดยคงโครงสร้างข้อมูลทั้งหมดไว้ในเอาต์พุต XML
การแปลงนี้ปลอดภัยและเป็นส่วนตัวหรือไม่?
ใช่. การประมวลผลทั้งหมดเกิดขึ้นภายในเบราว์เซอร์ของคุณ ข้อมูลของคุณจะไม่ออกจากอุปกรณ์ของคุณ ไม่มีการอัปโหลดเซิร์ฟเวอร์ ไม่มีการประมวลผลบนคลาวด์ ไม่มีการรวบรวมข้อมูล
ผลงานจะออกมาสวยมั้ย?
ใช่ตามค่าเริ่มต้น องค์ประกอบต่างๆ จะถูกเยื้องไว้เพื่อให้อ่านง่าย ปิดใช้งานการเยื้องหากคุณต้องการเอาต์พุตขนาดกะทัดรัดสำหรับการส่งสัญญาณ
ข้อมูลของฉันถูกอัพโหลดไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ การแปลงจะทำงานในเบราว์เซอร์ของคุณ
ฉันสามารถส่ง JSON ไปกลับเป็น XML และย้อนกลับได้หรือไม่
ใช่เมื่อทั้งสองทิศทางใช้แบบแผนเดียวกัน JSON → XML → JSON โดยทั่วไปจะสร้างต้นฉบับขึ้นมาใหม่ ค่าผกผันต้องการให้ JSON อยู่ในรูปแบบ @attr/#text ก่อนที่จะแปลงเป็น XML
แล้วค่า Null ของ JSON ล่ะ?
ค่า Null กลายเป็นองค์ประกอบว่าง (<key/>) ผู้บริโภคบางรายอาจต้องการละเว้นองค์ประกอบทั้งหมด ประมวลผล JSON ล่วงหน้าเพื่อปล่อยคีย์ว่างหากจำเป็น