แปลง 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
วิธีการใช้งาน
- วาง JSON ทางซ้ายหรืออัปโหลดไฟล์ .json/.txt
- รอประมาณ 400 มิลลิวินาทีเพื่อให้ XML ปรากฏทางขวา
- หากต้องการ ให้วางรูปแบบ JSON ให้เรียบร้อยก่อนแปลง
- คัดลอก XML หรือดาวน์โหลดเป็น output.xml
- ถ้าต้องการ 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 โดยตรง |
number | 30 | <age>30</age> | แปลงตัวเลขเป็นข้อความ |
boolean | true | <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
| มิติ | JSON | XML | หมายเหตุ |
|---|---|---|---|
| ไวยากรณ์ | { } : [ ] กระชับ | < > </> ยาวกว่า | JSON สั้นกว่า ส่วน XML เห็นโครงสร้างชัดจากแท็ก |
| ชนิดข้อมูล | เก็บ number/bool/null ได้ | ส่วนใหญ่เป็นข้อความ | XML มักพึ่ง schema เพื่อระบุชนิดข้อมูล |
| array | มีในตัว | ใช้ element ซ้ำ | รายการใน XML มักอาศัยกฎการตั้งชื่อ |
| namespace | ไม่มี | รองรับ xmlns | สำคัญมากในเอกสาร SOAP |
| schema validation | JSON Schema | XSD / DTD | ทั้งสองแบบมีวิธีตรวจสอบโครงสร้างอย่างเป็นทางการ |
| การใช้งานหลัก | REST API, Web | SOAP, enterprise | เว็บสมัยใหม่มักใช้ JSON ส่วนระบบเดิมมักใช้ XML |
การ escape อักขระพิเศษของ XML
วิธีที่เครื่องมือแปลงอักขระพิเศษใน string ของ JSON
| อักขระพิเศษ | เอนทิตี XML | ตัวอย่าง JSON | ผลลัพธ์ XML |
|---|---|---|---|
< | < | "<" | <field><</field> |
> | > | ">" | <field>></field> |
& | & | "&" | <field>&</field> |
" | " | "\"" | <field>"</field> |
' | ' | "'" | <field>'</field> |
Privacy & Security
เครื่องมือ JSON to XML นี้ทำการ parse JSON, สร้าง XML และจัดรูปแบบ prettyPrint ทั้งหมดภายใน JavaScript ของเบราว์เซอร์ JSON ที่คุณป้อน ไฟล์ที่อัปโหลด และ XML ที่สร้างขึ้นจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ ไฟล์ถูกอ่านด้วย FileReader ภายในเครื่อง และไม่มีการเก็บข้อมูลผู้ใช้ จึงเหมาะกับข้อมูล API หรือข้อมูลภายในที่มีความสำคัญ
Authoritative References
- W3Cข้อกำหนด XML 1.0 - W3C
- GitHubคลัง xmlbuilder2 บน GitHub
- W3Cข้อกำหนด SOAP 1.2 - W3C
- MDNข้อกำหนด JSON - MDN Web Docs
- RSS Advisory Boardข้อกำหนด RSS 2.0
- MDNคู่มือ XPath - MDN
- บีบอัด JSON
- แปลง CSV เป็น JSON
- JSON เป็น CSV
- JSON Diff
- JSON Escape / Unescape
- แฟลตเทน JSON
- จัดรูปแบบ JSON
- เครื่องมือสร้าง JSON
- คิวรี JSONPath
- รวม JSON
- ซ่อมแซม JSON
- ตัวตรวจสอบ JSON Schema
- เรียง JSON
- JSON Stringify
- JSON เป็น HTML
- JSON เป็น Java
- JSON เป็น Markdown
- แปลง JSON เป็น SQL
- JSON เป็น TOML
- JSON เป็น TypeScript
- แปลง XML เป็น JSON
- แปลง JSON เป็น XML
- YAML เป็น JSON
- JSON → YAML
- JSON เป็น Go
- JSON เป็น Rust
- JSON to Swift
- JSON เป็น C#
- JSON เป็น C++
- JSON เป็น PHP
- JSON เป็น Python