DevToolPal
ไทย

แปลง JSON เป็น XML

แปลง JSON เป็น XML ที่ well-formed และมีการย่อหน้า โดยอาร์เรย์เป็น element ซ้ำ และคีย์ที่ขึ้นต้นด้วย "@" เป็น attribute

ทำงานในเครื่อง ไม่มีการอัปโหลด

ตัวเลือก

อินพุต

0 ตัวอักษร · 0 B

เอาต์พุต

0 ตัวอักษร · 0 B

ทำอะไรได้

เครื่องมือนี้แปลงข้อมูล JSON เป็น XML ออบเจกต์จะเป็น element อาร์เรย์เป็น element ซ้ำ สตริง ตัวเลข และบูลีนเป็นข้อความ และ null เป็น element ว่าง คีย์ที่ขึ้นต้นด้วย @ จะกลายเป็น attribute และคีย์ #text กำหนดข้อความของ element ซึ่งตรงกับรูปแบบที่ตัวแปลง XML เป็น JSON สร้าง ข้อมูลจึงแปลงไปกลับได้

วิธีใช้งาน

  1. วาง JSON ลงในช่อง อินพุต อัปโหลดไฟล์ .json หรือคลิก ตัวอย่าง
  2. XML จะแสดงทางขวาขณะที่คุณพิมพ์ JSON ที่ไม่ถูกต้องจะถูกแจ้งพร้อมตำแหน่ง
  3. เลือกรูปแบบ ย่อหน้า ตั้ง ชื่อ root element เปลี่ยน คำนำหน้าคีย์ attribute และเลือกว่าจะเพิ่ม declaration <?xml ?> หรือไม่
  4. คัดลอก 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"