แปลง JSON เป็น XML

เครื่องมือ JSON to XML แบบฟรีสำหรับแปลงข้อมูลในเบราว์เซอร์ทันที JSON object จะถูกห่อด้วย <root> ส่วน array จะถูกห่อด้วย <root><item> และสร้าง XML ที่อ่านง่ายโดยไม่ต้องอัปโหลดข้อมูลออกไป

คำแนะนำที่เกี่ยวข้อง

เกี่ยวกับ JSON to XML: แปลงข้อมูล JSON เป็น XML มาตรฐาน

การแปลง JSON เป็น XML มีประโยชน์เมื่อข้อมูลจาก API สมัยใหม่ต้องถูกส่งต่อไปยังระบบที่ยังใช้ XML เช่น SOAP หรือระบบองค์กรเดิม

เครื่องมือนี้ใช้ xmlbuilder2 เพื่อแปลง key ของ JSON ให้เป็นชื่อ element ของ XML และแปลง value ให้เป็นข้อความใน element

เพราะ XML ไม่มีชนิด array โดยตรง รายการในลิสต์จึงถูกเขียนเป็น node <item> ซ้ำภายใต้ <root>

prettyPrint ทำให้ XML อ่านง่ายขึ้นด้วยการย่อหน้าและขึ้นบรรทัดใหม่ เหมาะกับการตรวจดูหรือวางลงใน XML editor

ตัวเลขและ boolean มักถูกแทนเป็นข้อความใน XML หากต้องการชนิดข้อมูลชัดเจน ควรใช้ XSD เพิ่มเติม

ทุกอย่างทำงานในเบราว์เซอร์ จึงสามารถแปลง JSON ที่มีข้อมูลสำคัญได้โดยไม่ต้องส่งออกไปยังเซิร์ฟเวอร์ภายนอก

กรณีการใช้งาน

  • ส่ง JSON จาก REST API ไปยังระบบที่รับเฉพาะ XML
  • เตรียม XML payload สำหรับข้อความ SOAP
  • สร้างพื้นฐานของ RSS หรือ sitemap.xml จาก JSON config
  • แปลง fixture JSON เป็น XML เพื่อทดสอบโค้ดรุ่นเก่า
  • ใช้สอนความสัมพันธ์การ map ระหว่าง JSON กับ XML

วิธีการใช้งาน

  1. วาง JSON ทางซ้ายหรืออัปโหลดไฟล์ .json/.txt
  2. รอประมาณ 400 มิลลิวินาทีเพื่อให้ XML ปรากฏทางขวา
  3. หากต้องการ ให้วางรูปแบบ JSON ให้เรียบร้อยก่อนแปลง
  4. คัดลอก XML หรือดาวน์โหลดเป็น output.xml
  5. ถ้าต้องการ root อื่นหรือ namespace ให้แก้ผลลัพธ์ด้วยตนเอง

คุณสมบัติ

  • ห่อ object ด้วย <root> และ array ด้วย <root><item> อัตโนมัติ
  • สร้างผลลัพธ์ prettyPrint ด้วย xmlbuilder2
  • แปลงอัตโนมัติหลังพิมพ์หยุดประมาณ 400 มิลลิวินาที
  • ใช้ tryFixJSON ช่วยซ่อมข้อผิดพลาด JSON ที่พบบ่อย
  • รองรับโครงสร้างซ้อนหลายระดับแบบ recursive
  • มี syntax highlighting สำหรับ JSON และ XML
  • รองรับ copy, download และกู้คืน history
  • ประมวลผลทั้งหมดในเบราว์เซอร์โดยไม่ส่งข้อมูลออกไป

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

จะแปลง JSON เป็น XML ได้อย่างไร?

วาง JSON ลงในช่องด้านซ้าย แล้วเครื่องมือจะสร้าง XML มาตรฐานให้อัตโนมัติ object จะอยู่ใต้ <root> และ array จะกลายเป็น <root><item>...</item></root> โดยผลลัพธ์จะอัปเดตราว 400 มิลลิวินาทีหลังหยุดพิมพ์

JSON array ถูกแสดงใน XML แบบไหน?

array จะถูกห่อด้วย <root> และแต่ละรายการจะกลายเป็น node <item> ที่ซ้ำกัน โครงสร้างนี้เหมาะกับงาน SOAP และ RSS

XML ที่ได้มีการจัดรูปแบบแล้วหรือไม่?

มี เครื่องมือนี้ใช้ prettyPrint ของ xmlbuilder2 เพื่อเพิ่มการย่อหน้าและขึ้นบรรทัดใหม่ให้อ่านง่าย

รองรับโครงสร้าง JSON แบบใดบ้าง?

รองรับ null, boolean, number, string, object ซ้อนหลายชั้น และ array หลายระดับ แต่ไม่รองรับ function หรือ undefined

ถ้า parse JSON ไม่ผ่านต้องทำอย่างไร?

ปัญหาทั่วไปอย่าง comma เกินหรือ single quote จะถูกลองซ่อมด้วย tryFixJSON หากยังไม่สำเร็จ ระบบจะแสดงตำแหน่ง error ให้เห็น

เปลี่ยนชื่อ root ได้ไหม?

ค่าเริ่มต้นคือ root และ item หากต้องการชื่ออื่นให้แก้ XML ที่สร้างแล้ว หรือห่อ JSON ด้วย key เพิ่มเติมก่อนแปลง

รองรับ namespace หรือ attribute ไหม?

เครื่องมือไม่ใส่ให้อัตโนมัติ หากต้องใช้ต้องแก้ XML ที่ได้ด้วยตนเอง

รองรับไฟล์อะไรและมีคีย์ลัดอะไรบ้าง?

รองรับไฟล์ .json และ .txt พร้อมคีย์ลัดสำหรับแปลง จัดรูปแบบ อัปโหลด ดาวน์โหลด และล้างข้อมูล

การแก้ไขปัญหา

เปลี่ยนชื่อ root ได้ไหม?

ทำอัตโนมัติไม่ได้ วิธีง่ายสุดคือแก้ XML ที่สร้างแล้ว หรือห่อ JSON ด้วย key เพิ่มเติมก่อน

เจอ error unclosed token

มักเกิดจากอักขระ < หรือ & ใน string ของ JSON โดยปกติจะถูก escape อัตโนมัติ แต่ควรตรวจข้อมูลต้นทางด้วย

อยากใช้แท็กอื่นแทน item

ให้ replace <item> และ </item> ใน XML ที่สร้างแล้วแบบทั้งชุด

ทำไมตัวเลขกลายเป็นข้อความ?

เพราะ XML ไม่มีชนิดตัวเลขพื้นฐาน หากต้องการระบุชนิดชัดเจนให้ใช้ XSD เพิ่ม

ภาษาไทยหรือ emoji จะพังไหม?

ไม่พัง เครื่องมือรองรับ UTF-8 และ Unicode จึงเก็บอักขระเหล่านี้ได้ตามปกติ

อภิธานศัพท์

JSON (JavaScript Object Notation)
รูปแบบแลกเปลี่ยนข้อมูลแบบเบา รองรับ object, array และชนิดข้อมูลพื้นฐาน
XML (eXtensible Markup Language)
ภาษามาร์กอัปแบบขยายได้ที่ใช้โครงสร้างแท็ก
xmlbuilder2
ไลบรารี JavaScript ที่เครื่องมือนี้ใช้สำหรับสร้าง XML
Node wrapping (root / item)
กฎของเครื่องมือนี้คือ object จะอยู่ใน root และสมาชิก array จะอยู่ใน item
prettyPrint
โหมดแสดงผลที่เพิ่มการย่อหน้าและขึ้นบรรทัดใหม่ให้ XML อ่านง่าย
SOAP (Simple Object Access Protocol)
โปรโตคอล web service ที่อิงกับ XML และใช้มากในงาน integration
XPath
ภาษาสำหรับค้นหา node ภายในเอกสาร XML
tryFixJSON
ฟังก์ชันภายในที่พยายามซ่อมข้อผิดพลาด JSON ที่พบบ่อยก่อน parse

กฎการ map JSON เป็น XML

กฎพื้นฐานที่เครื่องมือนี้ใช้ในการแปลงข้อมูล

ค่า JSONตัวอย่างองค์ประกอบ XMLกฎ
string"Alice"<name>Alice</name>นำข้อความไปใส่เป็น text ของ element โดยตรง
number30<age>30</age>แปลงตัวเลขเป็นข้อความ
booleantrue<isActive>true</isActive>แปลง boolean เป็นข้อความ true/false
object{"a":1}<root><a>1</a></root>ห่อ object ด้วย <root> และแปลง key เป็น element ย่อย
array[{"a":1}]<root><item><a>1</a></item></root>แปลง array เป็น node <item> ที่ซ้ำกัน
nested object{"user":{"name":"x"}}<root><user><name>x</name></user></root>คลี่โครงสร้างซ้อนแบบ recursive

เปรียบเทียบ JSON และ XML

ตารางสั้น ๆ สำหรับดูความต่างหลักระหว่าง JSON กับ XML

มิติJSONXMLหมายเหตุ
ไวยากรณ์{ } : [ ] กระชับ< > </> ยาวกว่าJSON สั้นกว่า ส่วน XML เห็นโครงสร้างชัดจากแท็ก
ชนิดข้อมูลเก็บ number/bool/null ได้ส่วนใหญ่เป็นข้อความXML มักพึ่ง schema เพื่อระบุชนิดข้อมูล
arrayมีในตัวใช้ element ซ้ำรายการใน XML มักอาศัยกฎการตั้งชื่อ
namespaceไม่มีรองรับ xmlnsสำคัญมากในเอกสาร SOAP
schema validationJSON SchemaXSD / DTDทั้งสองแบบมีวิธีตรวจสอบโครงสร้างอย่างเป็นทางการ
การใช้งานหลักREST API, WebSOAP, enterpriseเว็บสมัยใหม่มักใช้ JSON ส่วนระบบเดิมมักใช้ XML

การ escape อักขระพิเศษของ XML

วิธีที่เครื่องมือแปลงอักขระพิเศษใน string ของ JSON

อักขระพิเศษเอนทิตี XMLตัวอย่าง JSONผลลัพธ์ XML
<&lt;"<"<field>&lt;</field>
>&gt;">"<field>&gt;</field>
&&amp;"&"<field>&amp;</field>
"&quot;"\""<field>&quot;</field>
'&apos;"'"<field>&apos;</field>

Privacy & Security

เครื่องมือ JSON to XML นี้ทำการ parse JSON, สร้าง XML และจัดรูปแบบ prettyPrint ทั้งหมดภายใน JavaScript ของเบราว์เซอร์ JSON ที่คุณป้อน ไฟล์ที่อัปโหลด และ XML ที่สร้างขึ้นจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ ไฟล์ถูกอ่านด้วย FileReader ภายในเครื่อง และไม่มีการเก็บข้อมูลผู้ใช้ จึงเหมาะกับข้อมูล API หรือข้อมูลภายในที่มีความสำคัญ

Authoritative References