ทำอะไรได้
เครื่องมือนี้แปลงข้อมูล JSON เป็น XML ออบเจกต์จะเป็น element อาร์เรย์เป็น element ซ้ำ สตริง ตัวเลข และบูลีนเป็นข้อความ และ null เป็น element ว่าง คีย์ที่ขึ้นต้นด้วย @ จะกลายเป็น attribute และคีย์ #text กำหนดข้อความของ element ซึ่งตรงกับรูปแบบที่ตัวแปลง XML เป็น JSON สร้าง ข้อมูลจึงแปลงไปกลับได้
วิธีใช้งาน
- วาง JSON ลงในช่อง อินพุต อัปโหลดไฟล์
.jsonหรือคลิก ตัวอย่าง - XML จะแสดงทางขวาขณะที่คุณพิมพ์ JSON ที่ไม่ถูกต้องจะถูกแจ้งพร้อมตำแหน่ง
- เลือกรูปแบบ ย่อหน้า ตั้ง ชื่อ root element เปลี่ยน คำนำหน้าคีย์ attribute และเลือกว่าจะเพิ่ม declaration
<?xml ?>หรือไม่ - คัดลอก XML หรือดาวน์โหลดเป็นไฟล์
.xml
ตัวอย่าง
{ "book": { "@id": "bk101", "title": "XML Guide", "tags": ["xml", "json"], "price": 44.95 } }
จะกลายเป็น
<?xml version="1.0" encoding="UTF-8"?>
<book id="bk101">
<title>XML Guide</title>
<tags>xml</tags>
<tags>json</tags>
<price>44.95</price>
</book>
หมายเหตุ
อักขระพิเศษจะถูก escape (&, <, > ในข้อความ และ " ใน attribute ด้วย) เอาต์พุตจึงโหลดได้ด้วย XML parser ทุกตัว JSON ไม่มีวิธีแสดง namespace คอมเมนต์ หรือ CDATA จึงไม่มีการสร้างสิ่งเหล่านี้
คำถามที่พบบ่อย
› จะสร้าง attribute ของ XML จาก JSON ได้อย่างไร?
ให้ขึ้นต้นคีย์ด้วย "@" {"book": {"@id": "bk101", "title": "Guide"}} จะกลายเป็น <book id="bk101"><title>Guide</title></book> คุณเปลี่ยนคำนำหน้าได้ หรือล้างออกเพื่อให้ทุกคีย์เป็น element
› อาร์เรย์ของ JSON ถูกแปลงอย่างไร?
อาร์เรย์จะทำซ้ำ element แม่หนึ่งครั้งต่อหนึ่งรายการ {"tag": ["a", "b"]} จึงกลายเป็น <tag>a</tag><tag>b</tag> อาร์เรย์ระดับบนสุด หรืออาร์เรย์ที่อยู่ภายในอาร์เรย์อื่นโดยตรง จะใช้ element <item>
› คีย์ที่ไม่ใช่ชื่อ XML ที่ถูกต้องจะเป็นอย่างไร?
ช่องว่างและสัญลักษณ์จะถูกแทนที่ด้วยขีดล่าง และชื่อที่ขึ้นต้นด้วยตัวเลขหรือ "xml" จะได้ขีดล่างนำหน้า เอาต์พุตจึง well-formed เสมอ
› Root element มาจากไหน?
หากออบเจกต์ JSON มีคีย์เดียวพอดี คีย์นั้นจะเป็น root มิฉะนั้นทุกอย่างจะถูกครอบด้วยชื่อ root element จากตัวเลือก ซึ่งค่าเริ่มต้นคือ "root"