แปลง XML เป็น JSON
XML และ JSON จัดโครงสร้างข้อมูลต่างกัน โดย XML มีแอตทริบิวต์และเนื้อหาผสม ในขณะที่ JSON มีออบเจกต์และอาร์เรย์ การแปลงโดยไม่สูญเสียข้อมูลจำเป็นต้องมีข้อกำหนดเฉพาะ เครื่องมือนี้มีสามโหมดให้เลือก ได้แก่ โหมดคอมแพกต์ (ตัดแอตทริบิวต์ออก), โหมด Badgerfish (แอตทริบิวต์อยู่ใต้ @key ส่วนข้อความอยู่ใต้ $) และโหมดลิเทอรัล (โหนด XML ทุกตัวจะกลายเป็นออบเจกต์ JSON อย่างครบถ้วนสมบูรณ์) ให้เลือกโหมดที่เหมาะกับผู้ใช้งาน JSON ปลายทางของคุณ
วิธีแปลง XML เป็น JSON
-
1
วาง XML
XML ที่มีรูปแบบถูกต้องชนิดใดก็ได้ เนมสเปซจะถูกเก็บรักษาไว้
-
2
เลือกสไตล์การแปลง
คอมแพกต์, Badgerfish หรือลิเทอรัล/ไร้การสูญเสียข้อมูล
-
3
จัดการอาร์เรย์
บังคับให้องค์ประกอบบางตัวเป็นอาร์เรย์เสมอ (ปรับแต่งได้)
-
4
คัดลอกผลลัพธ์ JSON
เลือกได้ตามใจชอบ ไม่ว่าจะเป็นแบบพิมพ์สวยงามหรือแบบย่อขนาด
เปรียบเทียบสามสไตล์
ข้อมูลนำเข้า:
<book id="1" lang="en">
<title>1984</title>
<author>Orwell</author>
</book>
คอมแพกต์ (ตัดแอตทริบิวต์ออก):
{
"book": {
"title": "1984",
"author": "Orwell"
}
}
Badgerfish (แอตทริบิวต์อยู่ใต้ @ ส่วนข้อความอยู่ใต้ $):
{
"book": {
"@id": "1",
"@lang": "en",
"title": { "$": "1984" },
"author": { "$": "Orwell" }
}
}
ลิเทอรัล / คล้าย JsonML (ความครบถ้วนสมบูรณ์):
{
"book": {
"@attributes": { "id": "1", "lang": "en" },
"title": "1984",
"author": "Orwell"
}
}
อาร์เรย์ที่ถูกบังคับ
XML ไม่มีวิธีระบุว่า “นี่คือรายการที่มีองค์ประกอบเพียงหนึ่งตัว” ลำดับที่มีองค์ประกอบเดียวจึงมีลักษณะเหมือนกับสเกลาร์ทุกประการ
<items>
<item>A</item>
</items>
ข้อมูลนี้สามารถซีเรียลไลซ์ได้ทั้งเป็น {"item": "A"} หรือ {"item": ["A"]} ตัวแปลงนี้ช่วยให้คุณกำหนดชื่อองค์ประกอบ (ผ่าน XPath) ให้เป็นอาร์เรย์เสมอได้ เพื่อให้ผู้ใช้งาน JSON ที่อยู่ขั้นตอนถัดไปได้รับชนิดข้อมูลที่สอดคล้องกัน
เนื้อหาผสม
เนื้อหาผสม, ข้อความที่แทรกสลับอยู่กับองค์ประกอบลูก, เป็นจุดเดียวที่การแปลงจาก XML เป็น JSON จะสูญเสียข้อมูลไป
<p>Hello <em>world</em>!</p>
สไตล์ส่วนใหญ่มักจะตัดข้อความออกหรือยุบรวมเข้าด้วยกัน ขณะที่สไตล์ลิเทอรัลจะรักษาลำดับไว้โดยใช้อาร์เรย์
{
"p": {
"@content": ["Hello ", { "em": "world" }, "!"]
}
}
การอนุมานชนิดข้อมูล
โดยค่าเริ่มต้น ค่าทั้งหมดจะเป็นสตริง หากเปิดใช้งานตัวเลือก “แปลงตัวเลข/บูลีน” ตัวแปลงจะแปลงค่า 42, 3.14, true และ false เป็นชนิดข้อมูล JSON ที่ตรงกัน โปรดระวัง: แอตทริบิวต์ XML อย่าง id="007" จะกลายเป็น 7 เมื่อเปิดการแปลงชนิดข้อมูล ซึ่งคุณอาจไม่ต้องการ
ควรเลือกแบบไหนเมื่อใด
- คอมแพกต์: สำหรับ JSON ที่อ่านง่ายสำหรับมนุษย์ ในกรณีที่แอตทริบิวต์เป็นเพียงสิ่งรบกวน
- Badgerfish: เมื่อคุณต้องการให้แอตทริบิวต์และข้อความอยู่ในระดับความลึกเดียวกับองค์ประกอบลูก
- ลิเทอรัล: เมื่อคุณต้องแปลงกลับไปเป็น XML โดยไม่สูญเสียข้อมูล
คำถามที่พบบ่อย
เมื่อองค์ประกอบปรากฏเพียงครั้งเดียว ตัวแปลงจะใช้ออบเจกต์เป็นค่าเริ่มต้น ส่วนหากปรากฏตั้งแต่สองครั้งขึ้นไป จะใช้อาร์เรย์ ให้ใช้ตัวเลือกบังคับให้เป็นอาร์เรย์เพื่อให้ผลลัพธ์สอดคล้องกัน หากผู้ใช้งานปลายทางคาดหวังรูปแบบเดียวกันเสมอ
คำนำหน้าเนมสเปซจะถูกคงไว้ในคีย์ (เช่น ns:title) เว้นแต่คุณจะเปิดใช้งานตัวเลือก “ลบเนมสเปซ” ส่วนการประกาศเนมสเปซเองจะกลายเป็นแอตทริบิวต์ @xmlns:ns บนองค์ประกอบราก
โหมดลิเทอรัลใกล้เคียงกับการแปลงแบบไม่สูญเสียข้อมูลมากที่สุด แต่การจัดลำดับเนื้อหาผสมระหว่างองค์ประกอบกับข้อความนั้นค่อนข้างซับซ้อน ขณะที่โหมดคอมแพกต์จะทำให้แอตทริบิวต์สูญหายไปอย่างแน่นอน ดังนั้น Badgerfish จึงเป็นทางเลือกกลางที่เหมาะสมและใช้งานได้จริง
ไม่ การแปลงจะดำเนินการโดยตรงในเบราว์เซอร์ของคุณ
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
เครื่องสุ่มที่อยู่
สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ
ตัวตรวจสอบความถูกต้องของ JSON
ตรวจสอบไวยากรณ์ JSON และตรวจจับเครื่องหมายจุลภาคต่อท้าย เครื่องหมายอัญประกาศที่ผิด คีย์ซ้ำ และโครงสร้างที่ผิดรูปแบบ พร้อมระบุตำแหน่งข้อผิดพลาดอย่างแม่นยำ
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องมือนี้มีให้บริการในภาษาอื่น
- XML zu JSON [DE]
- XML para JSON [PT]
- Chuyển đổi từ XML sang JSON [VI]
- XML till JSON [SV]
- XML ke JSON [ID]
- XML → JSON [KO]
- XML a JSON [ES]
- XMLからJSONへ [JA]
- XML إلى JSON [AR]
- XML vers JSON [FR]
- XML naar JSON [NL]
- XML do JSON [PL]
- XML in JSON [IT]
- От XML к JSON [RU]
- XML'den JSON'a [TR]
- XML 转 JSON [ZH]
- XML to JSON [EN]