ข้ามไปยังเนื้อหา

แปลงรูปแบบ XML เป็น JSON

แปลง XML เป็น JSON ด้วย xml-js ในโหมด compact โดยเก็บแอตทริบิวต์ใต้ _attributes ข้อความใต้ _text และองค์ประกอบพี่น้องที่ซ้ำกันเป็นอาร์เรย์ ทุกค่ายังคงเป็นสตริง

ตรวจผลตอบกลับ SOAP, RSS หรือ XML API รุ่นเดิมในรูป JSON ก่อนเขียนโค้ดแยกวิเคราะห์

XML

JSON

เหมาะกับงานแบบไหน

  • ตรวจผลตอบกลับ SOAP, RSS หรือ XML API รุ่นเดิมในรูป JSON ก่อนเขียนโค้ดแยกวิเคราะห์
  • ดึงค่าแอตทริบิวต์และข้อความจากไฟล์ส่งออก XML เพื่อใช้กับเครื่องมือที่ทำงานด้วย JSON

วิธีใช้

  1. วาง XML หรือโหลดไฟล์ .xml ในตัวแก้ไขด้านซ้าย
  2. ใน JSON อ่านแอตทริบิวต์จาก _attributes ข้อความองค์ประกอบจาก _text และองค์ประกอบซ้ำจากอาร์เรย์
  3. คัดลอก JSON แล้วแมปฟิลด์ที่ต้องการลงโครงสร้างของคุณ

ข้อมูลเข้า XML

<order id="1042">
  <customer>Ada Lovelace</customer>
  <item sku="A-1">Keyboard</item>
  <item sku="B-7">Mouse</item>
</order>

JSON

{
  "order": {
    "_attributes": {
      "id": "1042"
    },
    "customer": {
      "_text": "Ada Lovelace"
    },
    "item": [
      {
        "_attributes": {
          "sku": "A-1"
        },
        "_text": "Keyboard"
      },
      {
        "_attributes": {
          "sku": "B-7"
        },
        "_text": "Mouse"
      }
    ]
  }
}

รายละเอียดและข้อจำกัด

แปลงในเบราว์เซอร์ ไม่มีการตั้งค่า รูปแบบ compact เป็นค่าคงที่

องค์ประกอบที่ปรากฏครั้งเดียวเป็นออบเจ็กต์ แต่เมื่อมีสองครั้งจะเป็นอาร์เรย์ โครงสร้าง JSON จึงเปลี่ยนตามข้อมูลได้ ควรเขียนโค้ดรองรับทั้งสองแบบ

คำประกาศ XML คอมเมนต์ และ CDATA คงไว้เป็น _declaration, _comment และ _cdata ไม่มีการตรวจสอบสคีมา (XSD) หรือ DTD

เนื้อหาผสม (ข้อความสลับกับแท็ก) จะสูญเสียลำดับเดิม

FAQ

แปลงตัวเลขและบูลีนเป็นชนิด JSON หรือไม่?

ไม่ ค่าแอตทริบิวต์และข้อความยังเป็นสตริง เช่น "1042" ให้แปลงชนิดในโค้ดของคุณตามต้องการ

ถ้า XML มีรูปแบบไม่ถูกต้องจะเกิดอะไรขึ้น?

หน้าจะแสดงข้อผิดพลาด "Invalid XML" แทน JSON เช่น "unclosed tag <order>" หรือ "Unexpected close tag (line 3, column 8)" ให้ปิดทุกองค์ประกอบ ครอบค่าแอตทริบิวต์ด้วยเครื่องหมายคำพูด และ Escape & เป็น &amp;

รับ JSON ที่ไม่มีคีย์ _text และ _attributes ได้หรือไม่?

หน้านี้ทำไม่ได้ รูปแบบ compact เก็บคีย์เหล่านี้เพื่อแยกแอตทริบิวต์กับข้อความ ให้ปรับโครงสร้างด้วยโค้ดหลังคัดลอก

ข้อกำหนดและแหล่งอ้างอิง