DevToolPal
ไทย

แปลง XML เป็น JSON

แปลง XML เป็น JSON ในเบราว์เซอร์ของคุณ โดยคง attribute ข้อความ และอิลิเมนต์ที่ซ้ำกันไว้ พร้อมบอกตำแหน่งข้อผิดพลาดที่แม่นยำ

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

ตัวเลือก

อินพุต

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

เอาต์พุต

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

เครื่องมือนี้ทำอะไร

เครื่องมือนี้เปลี่ยนเอกสาร XML ให้เป็น JSON อิลิเมนต์กลายเป็นคีย์ของ object, attribute กลายเป็นคีย์ที่มีคำนำหน้า ข้อความภายในอิลิเมนต์กลายเป็นค่าของมัน และอิลิเมนต์พี่น้องที่ซ้ำกันกลายเป็นอาร์เรย์ ก่อนแปลง XML จะถูกตรวจสอบความถูกต้อง หากแท็กไม่ได้ปิดหรือ attribute ผิดรูปแบบ คุณจะเห็นบรรทัดและคอลัมน์ที่แน่นอน

วิธีใช้งาน

  1. วาง XML ลงในช่อง อินพุต อัปโหลดหรือลากไฟล์ .xml มาวาง หรือคลิก ตัวอย่าง
  2. JSON จะปรากฏทางขวาขณะพิมพ์
  3. ปรับตัวเลือก:
    • การเยื้อง: 2 หรือ 4 ช่องว่าง, Tab หรือเอาต์พุตแบบย่อขนาด
    • คำนำหน้า attribute: เครื่องหมายสำหรับ attribute ค่าเริ่มต้นคือ @ เว้นว่างไว้เพื่อข้าม attribute
    • แปลงตัวเลขและบูลีน: เปลี่ยนข้อความอย่าง 42 และ true ให้เป็นตัวเลขและบูลีนจริงของ JSON
    • ใช้อาร์เรย์เสมอ: ครอบอิลิเมนต์ลูกทุกตัวด้วยอาร์เรย์ เพื่อให้โครงสร้างคาดเดาได้
  4. คัดลอกหรือดาวน์โหลดผลลัพธ์เป็นไฟล์ .json

ตัวอย่าง

<book id="bk101">
  <title lang="en">XML Developer's Guide</title>
  <tag>xml</tag>
  <tag>programming</tag>
</book>

จะกลายเป็น

{
  "book": {
    "title": { "#text": "XML Developer's Guide", "@lang": "en" },
    "tag": ["xml", "programming"],
    "@id": "bk101"
  }
}

หมายเหตุ

XML declaration (<?xml ...?>) และ processing instruction จะไม่ถูกใส่ใน JSON คอมเมนต์จะถูกข้าม ช่องว่างรอบข้อความจะถูกตัดออก

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

› attribute ของ XML แสดงใน JSON อย่างไร?

แสดงเป็นคีย์ที่ขึ้นต้นด้วยคำนำหน้า attribute ซึ่งค่าเริ่มต้นคือ "@" เช่น <price currency="USD">44.95</price> กลายเป็น { "@currency": "USD", "#text": "44.95" } ล้างช่องคำนำหน้าเพื่อทิ้ง attribute ทั้งหมด

› ทำไมอิลิเมนต์บางครั้งเป็นอาร์เรย์ บางครั้งเป็น object?

อิลิเมนต์ที่ซ้ำกันกลายเป็นอาร์เรย์ ส่วนอิลิเมนต์เดี่ยวยังคงเป็นค่าธรรมดา หากโค้ดของคุณต้องการโครงสร้างเดียวกันทุกครั้ง ให้เปิด "ใช้อาร์เรย์เสมอ"

› ตัวเลขถูกแปลงไหม?

โดยค่าเริ่มต้นไม่แปลง เพราะค่าอย่างรหัสไปรษณีย์หรือ ID ที่มีเลขศูนย์นำหน้าจะเปลี่ยนไป เปิด "แปลงตัวเลขและบูลีน" เพื่อได้ 42 แทน "42" และ true แทน "true"

› XML ของฉันถูกอัปโหลดหรือไม่?

ไม่ การ parse เกิดขึ้นในเบราว์เซอร์ของคุณ