UltKit
รูปภาพ11
PDF13
เอกสารและข้อมูล7
วิดีโอ6
เสียง4
เครื่องมืออื่น ๆ22

แปลง XML เป็น JSON

ย้ายข้อมูลจากการตอบกลับ SOAP ฟีด RSS ไฟล์ตั้งค่า หรือไฟล์ส่งออกจากระบบเก่า ให้เป็น JSON ที่ JavaScript, Python หรือเครื่องมือ no-code อ่านได้โดยตรง โดยไม่ต้องเขียนตัวแยกวิเคราะห์เอง

แปลงไฟล์ข้อมูล

หรือลากไฟล์ CSV, TSV, TXT … มาวางที่นี่ ·

สูงสุด 95 MB ต่อไฟล์· ได้สูงสุด 20 ไฟล์· ลบหลังจาก 30 นาที

ผลลัพธ์

ไฟล์จะถูกประมวลผลบนเซิร์ฟเวอร์ของเราและถูกลบหลังจาก 30 นาที

วิธีใช้เครื่องมือนี้

  1. 1

    อัปโหลดไฟล์ XML

    วางไฟล์ .xml ลงในพื้นที่อัปโหลด ได้สูงสุด 20 ไฟล์ต่อครั้ง ไฟล์ละไม่เกิน 95 MB โดยแต่ละไฟล์จะถูกแปลงแยกจากกัน

  2. 2

    เลือกแบบอ่านง่ายหรือแบบกะทัดรัด

    ตัวเลือก จัดรูปแบบให้อ่านง่าย เปิดอยู่ โดย JSON จะถูกเยื้องบรรทัดเพื่อให้อ่านและตรวจโค้ดได้สะดวก หากต้องการผลลัพธ์บรรทัดเดียวที่เล็กที่สุดสำหรับ payload ของ API ให้ปิดตัวเลือกนี้ใน การตั้งค่าขั้นสูง

  3. 3

    แปลงแล้วนำ JSON ไปใช้

    กด แปลงเป็น JSON แล้วดาวน์โหลดไฟล์ .json ไปใช้ในโค้ดหรือเครื่องมือของคุณ

อัปโหลดไฟล์ XML แล้วกด แปลงเป็น JSON องค์ประกอบจะกลายเป็นคีย์ องค์ประกอบที่ซ้ำจะกลายเป็นอาร์เรย์ และแอตทริบิวต์จะเก็บเป็นคีย์ที่มี @ นำหน้า ข้อมูลในแท็กจึงไม่สูญหาย

ใครบ้างที่ต้องแปลง XML เป็น JSON

XML 1.0 ได้เป็นข้อเสนอแนะของ W3C ในเดือนกุมภาพันธ์ 1998 และตลอดทศวรรษถัดมาก็เป็นภาษาที่ระบบต่าง ๆ ใช้สื่อสารกัน ทั้งเว็บเซอร์วิส SOAP ฟีด RSS และ Atom เอกสาร Office ข้อความทางการธนาคาร และแคตตาล็อกสินค้า หลายระบบยังทำงานอยู่ ส่วน JSON ซึ่งกำหนดไว้ใน RFC 8259 เข้ามาแทนที่ในเว็บ API ใหม่ เพราะ JavaScript อ่านได้โดยไม่ต้องใช้ไลบรารีพาร์ส และแมปเข้ากับลิสต์และดิกชันนารีในแทบทุกภาษาได้โดยตรง

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

แปลง XML เป็น JSON: แท็ก แอตทริบิวต์ และข้อความถูกจับคู่อย่างไร

อินพุต XML: คำสั่งซื้อที่มีแอตทริบิวต์ ลูกค้าหนึ่งราย และสินค้าสองรายการ
<order id="A-77">
  <customer>Lena Ortiz</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">โคมไฟตั้งโต๊ะ</item>
  <item sku="0108">หลอดไฟ LED</item>
</order>
ส่วนต่าง ๆ ของคำสั่งซื้อด้านบนปรากฏใน JSON อย่างไร
โครงสร้าง XMLตัวอย่างผลลัพธ์ JSON
องค์ประกอบราก<order>คีย์ระดับบนสุด order
แอตทริบิวต์id="A-77""@id": "A-77"
องค์ประกอบที่มีเฉพาะข้อความ<customer>"customer": "Lena Ortiz"
ข้อความพร้อมแอตทริบิวต์<total currency="EUR"> ที่มียอด 59.90{"@currency": "EUR", "#text": "59.90"}
องค์ประกอบที่ซ้ำแท็ก <item> สองแท็กอาร์เรย์ "item": [ … , … ]
คอมเมนต์<!-- note -->ถูกตัดทิ้ง เพราะ JSON ไม่มีคอมเมนต์

XML

Extensible Markup Language

XML เป็นภาษามาร์กอัปสำหรับข้อมูลที่มีโครงสร้าง ซึ่ง W3C เผยแพร่ในปี 1998 ใช้แท็กซ้อนกันพร้อมแอตทริบิวต์ และรองรับสคีมา เนมสเปซ และการตรวจสอบความถูกต้อง จึงรองรับเอกสารที่ซับซ้อนได้อย่างมั่นคง เป็นพื้นฐานของฟีด RSS, SVG เอกสาร Office ไซต์แมป และการแลกเปลี่ยนข้อมูลขององค์กรและภาครัฐจำนวนมาก XML ยืดยาวกว่า JSON แต่ภาษาโปรแกรมทุกภาษาและเครื่องมือสเปรดชีตจำนวนมากอ่านได้

การบีบอัด
–
พื้นหลังโปร่งใส
–
ภาพเคลื่อนไหว
–
เปิดตัว
1998 · W3C
ตัวแปลงไฟล์ XML

JSON

JavaScript Object Notation

JSON คือรูปแบบข้อความขนาดเบาสำหรับข้อมูลเชิงโครงสร้าง ได้รับความนิยมจาก Douglas Crockford ในช่วงต้นทศวรรษ 2000 และกำหนดเป็นมาตรฐาน RFC 8259 และ ECMA-404 แสดงอ็อบเจกต์ อาร์เรย์ สตริง ตัวเลข ค่าบูลีน และ null ด้วยไวยากรณ์ที่เรียบง่ายและอ่านง่าย เป็นรูปแบบเริ่มต้นของ API บนเว็บ ไฟล์การตั้งค่า และการแลกเปลี่ยนข้อมูลระหว่างแอปในแทบทุกภาษาโปรแกรม ไม่มีคอมเมนต์ วันที่ หรือสคีมาในตัว และไฟล์ขนาดใหญ่ที่ซ้อนกันหลายชั้นอ่านได้ยากหากไม่มีโปรแกรมดู

การบีบอัด
–
พื้นหลังโปร่งใส
–
ภาพเคลื่อนไหว
–
เปิดตัว
2001 · Douglas Crockford
ตัวแปลงไฟล์ JSON

แปลง XML เป็น JSON เมื่อข้อมูลจากระบบเก่าหรือระบบองค์กรต้องส่งต่อไปยังเว็บแอป สคริปต์ หรือเครื่องมืออัตโนมัติ เพราะ JSON พาร์สได้โดยตรงใน JavaScript และแมปเข้ากับดิกชันนารีของ Python ได้ทันที

คุณสมบัติของ XML ที่ JSON ไม่มีที่รองรับ

ทั้งสองฟอร์แมตอธิบายโครงสร้างแบบต้นไม้ แต่ XML มีส่วนเพิ่มที่ JSON ไม่เคยมี เนมสเปซซึ่ง W3C กำหนดในปี 1999 ช่วยให้เอกสารเดียวผสมคลังคำศัพท์ได้ เช่น soap: และ xsi: ใน JSON จะเหลืออยู่เพียงเป็นส่วนของชื่อคีย์ ส่วนคอมเมนต์และ processing instruction ไม่มีที่อยู่จึงถูกตัดทิ้ง เนื้อหาผสม คือข้อความที่แทรกอยู่กับแท็กลูก เช่นย่อหน้า XHTML ที่มีคำตัวหนา ถูกต้องใน XML แต่ใช้งานยากใน JSON ดังนั้น XML แบบเอกสารควรแปลงเป็น HTML หรือ Markdown มากกว่า JSON

ลำดับเป็นประเด็นที่ละเอียดอ่อน XML เก็บองค์ประกอบพี่น้องตามลำดับ และสคีมาอาจพึ่งพาลำดับนี้ ขณะที่คีย์ของออบเจ็กต์ JSON ตามมาตรฐานไม่มีลำดับ องค์ประกอบที่ซ้ำยังคงลำดับภายในอาร์เรย์ของมัน ซึ่งครอบคลุมข้อมูลจริงส่วนใหญ่ หาก XML เป็นรายการเรกคอร์ดแบบแบนที่ควรไปอยู่ในสเปรดชีตมากกว่าในโค้ด แปลง XML เป็น Excel จะให้แถวและคอลัมน์โดยตรง และ แปลง XML เป็น CSV จะสร้างไฟล์สำหรับนำเข้าฐานข้อมูล

คำถามเกี่ยวกับการแปลง XML เป็น JSON

ทำไมองค์ประกอบเดียวกันจึงเป็นอาร์เรย์ในไฟล์หนึ่ง แต่เป็นออบเจ็กต์ในอีกไฟล์หนึ่ง

ตัวแปลงมองเห็นเฉพาะสิ่งที่อยู่ในเอกสารเท่านั้น หากคำสั่งซื้อมีแท็ก item สามรายการ items จะเป็นอาร์เรย์ แต่ถ้ามีเพียงรายการเดียว จะไม่มีอะไรให้ซ้ำ จึงกลายเป็นออบเจ็กต์เดี่ยว โค้ดที่อ่าน JSON ควรรองรับทั้งสองรูปแบบ หรือครอบออบเจ็กต์เดี่ยวด้วยอาร์เรย์ก่อนวนลูป

แอตทริบิวต์ของ XML เขียนใน JSON อย่างไร

แอตทริบิวต์แต่ละตัวจะกลายเป็นคีย์ที่มี @ นำหน้าชื่อ เช่น currency="EUR" จะเป็น "@currency": "EUR" เมื่อองค์ประกอบมีทั้งแอตทริบิวต์และข้อความ ข้อความจะอยู่ในคีย์ #text ข้างกัน แนวทางนี้ช่วยไม่ให้แอตทริบิวต์กับองค์ประกอบลูกชนกันเมื่อใช้ชื่อเดียวกัน

ตัวเลขใน XML จะถูกแปลงเป็นตัวเลขของ JSON หรือไม่

XML ไม่มีชนิดข้อมูลของตัวเอง 42 และ "42" ดูเหมือนกันในแท็ก ค่าจึงออกมาเป็นสตริง ซึ่งช่วยรักษารหัสไปรษณีย์และรหัสอย่าง 007 ไว้ได้ครบถ้วน ให้แปลงฟิลด์ที่โค้ดต้องใช้เป็นตัวเลขหลังพาร์ส

คำนำหน้าเนมสเปซ เช่น soap:Envelope จะเป็นอย่างไร

คำนำหน้ายังเป็นส่วนหนึ่งของชื่อคีย์ เช่น envelope จะเป็น soap:Envelope และการประกาศเนมสเปซเป็นคีย์ @xmlns:soap เพื่อแยกองค์ประกอบจากคลังคำศัพท์ต่างกันออกจากกัน หากคุณใช้เพียงชุดเดียว ก็ตัดคำนำหน้าออกในโค้ดได้

แปลง JSON กลับเป็น XML ภายหลังได้หรือไม่

ได้ ใช้ แปลง JSON เป็น XML โดยใช้หลักการ @ และ #text เดียวกัน แอตทริบิวต์จะกลับมาเป็นแอตทริบิวต์ ส่วนคอมเมนต์และการเยื้องบรรทัดเดิมจะไม่กลับมา เพราะ JSON ไม่เคยเก็บสิ่งเหล่านี้ไว้