ตัวแปลง XML ↔ JSON
แปลงเอกสาร XML เป็น JSON และย้อนกลับ รวมแอตทริบิวต์ด้วย
เกี่ยวกับเครื่องมือนี้
แปลง XML เป็น JSON เพื่อป้อนคำตอบ SOAP รุ่นเก่า ฟีด RSS หรือไฟล์ POM ของ Maven เข้าสู่ JavaScript, jq หรือ API ที่ใช้ JSON เป็นหลัก — หรือทำทางกลับกันเพื่อผลิต XML จากข้อมูล JSON แอตทริบิวต์ถูกเก็บไว้: มันกลายเป็นคีย์ "@_ชื่อ" และเนื้อหาข้อความที่อยู่ร่วมกับแอตทริบิวต์จะไปอยู่ใต้ "#text" จึงไม่มีข้อมูลใดหายไปเงียบ ๆ
สองรูปแบบนี้เห็นต่างกันในเรื่องพื้นฐาน และตัวแปลงนี้เลือกทางที่เป็นมาตรฐานและใช้ได้จริง: อิลิเมนต์พี่น้องที่ซ้ำกันจะยุบเป็นอาร์เรย์ JSON ค่าที่หน้าตาเป็นตัวเลขจะกลายเป็นตัวเลข และเนมสเปซจะเดินทางไปเป็นส่วนหนึ่งของชื่ออิลิเมนต์ การไปกลับ XML → JSON → XML รักษาโครงสร้างและเนื้อหาไว้ได้สำหรับเอกสารทั่วไป
ทั้งสองทิศทางทำงานในเบราว์เซอร์ของคุณ วางฟีดใบแจ้งหนี้หรือคำตอบ API ได้โดยไม่ต้องกลัวว่ามันจะไปไหน
คำถามที่พบบ่อย
- ทำไมบางค่ากลับมาเป็นตัวเลขแทนที่จะเป็นสตริง?
- ตัวแยกวิเคราะห์รู้จักข้อความที่เป็นตัวเลขและแปลงให้ ซึ่งเป็นสิ่งที่ผู้บริโภคส่วนใหญ่ต้องการ แต่ระวังรหัสประจำตัวที่มีเลขศูนย์นำหน้า (รหัสสินค้า หมายเลขโทรศัพท์) — หากเรื่องนี้สำคัญกับข้อมูลของคุณ ให้ใส่อัญประกาศหลังการแปลง หรือถือว่าผลลัพธ์เป็นเพียงจุดตั้งต้น
- อิลิเมนต์ที่ซ้ำกันถูกจัดการอย่างไร?
- พี่น้องตั้งแต่สองตัวขึ้นไปที่ชื่อเดียวกันจะกลายเป็นอาร์เรย์ JSON ใต้คีย์นั้น ส่วนที่ปรากฏครั้งเดียวจะยังเป็นอ็อบเจกต์ธรรมดา — ความไม่สมมาตรนี้ติดมากับการจับคู่รูปแบบ โค้ดที่บริโภค JSON จึงควรรองรับทั้งสองรูปทรงหรือปรับให้เป็นมาตรฐานก่อน
- คีย์ @_ และ #text หมายถึงอะไร?
- @_ ทำเครื่องหมายสิ่งที่เคยเป็นแอตทริบิวต์ของ XML ส่วน #text บรรจุข้อความของอิลิเมนต์เมื่อมีแอตทริบิวต์อยู่ด้วย การป้อนธรรมเนียมเดียวกันนี้กลับเข้าไปในทิศทาง JSON → XML จะประกอบมาร์กอัปเดิมขึ้นมาใหม่ได้
- ทำไม JSON → XML ปฏิเสธอาร์เรย์ที่อยู่ระดับบนสุดของฉัน?
- เอกสาร XML ต้องมีอิลิเมนต์รากเพียงหนึ่งเดียว แต่อาร์เรย์เปล่า ๆ ไม่มีเลย ให้ห่ออาร์เรย์ไว้ในอ็อบเจกต์ — {"items": {"item": [...]}} — แล้วตัวแปลงจะผลิตเอกสารที่ถูกต้องตามรูปแบบออกมา