แปลงฟรี

XML เป็น ตัวแปลง JSON

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

เลือกไฟล์ XML

หรือลากและวางที่นี่

หรือ

เกี่ยวกับเครื่องมือนี้

XML และ JSON เป็นทั้งรูปแบบการแลกเปลี่ยนข้อมูล แต่มาจากยุคที่แตกต่างกันของเว็บ XML ซึ่งเป็นมาตรฐานในปี 1998 ได้รับการออกแบบให้เป็นรูปแบบมาร์กอัปที่อธิบายตัวเองพร้อมแอตทริบิวต์ เนมสเปซ และการตรวจสอบความถูกต้องของสคีมา JSON ถือกำเนิดขึ้นในช่วงต้นทศวรรษ 2000 ในรูปแบบที่มีน้ำหนักเบากว่า ซึ่งเหมาะสมกับรันไทม์ของ JavaScript และ API สมัยใหม่มากกว่า เว็บ API ใหม่ส่วนใหญ่พูด JSON; ระบบเก่าๆ จำนวนมาก — บริการ SOAP, ฟีด RSS, ไฟล์การกำหนดค่า, การบูรณาการระดับองค์กร — ยังคงสร้าง XML การแปลงระหว่างสิ่งเหล่านี้เป็นหนึ่งในงานการทำงานร่วมกันที่พบบ่อยที่สุดในการพัฒนาสมัยใหม่

การแปลงไม่ใช่การสูญเสียที่สมบูรณ์แบบเนื่องจากทั้งสองรูปแบบมีพลังในการแสดงออกที่แตกต่างกัน XML มีแอตทริบิวต์ (ซึ่ง JSON ไม่มีอยู่แล้ว) แยกความแตกต่างระหว่างเนื้อหาข้อความและชื่อองค์ประกอบ และรองรับเนื้อหาแบบผสม (องค์ประกอบที่มีทั้งองค์ประกอบข้อความและองค์ประกอบลูก) โมเดลออบเจ็กต์/อาร์เรย์ที่ตรงไปตรงมาของ JSON ไม่สามารถแสดงถึงคุณลักษณะเหล่านี้ได้โดยตรง ดังนั้นตัวแปลงจึงใช้หลักเกณฑ์: แอตทริบิวต์จะกลายเป็นคีย์ที่นำหน้าด้วย @ เนื้อหาข้อความจะกลายเป็นคีย์ #text และอื่นๆ

ตัวแปลงนี้จะแยกวิเคราะห์ XML โดยใช้ DOMParser ในตัวของเบราว์เซอร์ และเดินตามแผนผัง DOM ที่เป็นผลลัพธ์เพื่อสร้าง JSON องค์ประกอบที่มีชื่อแท็กเดียวกันกับพี่น้องจะถูกรวบรวมไว้ในอาร์เรย์ คุณลักษณะจะเข้าสู่คีย์พิเศษ เนมสเปซและคำแนะนำในการประมวลผลจะถูกเก็บรักษาไว้เมื่อมีอยู่ ผลลัพธ์ที่ได้คือ JSON ที่มนุษย์สามารถอ่านได้ซึ่งจะย้อนกลับไปยัง XML อย่างสมเหตุสมผล

ทำไมต้องแปลง XML เป็น JSON

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

การใช้เครื่องมือยังใช้ JSON อีกด้วย เครื่องมือตกแต่ง JSON, เครื่องมือตรวจสอบ, เครื่องมือตรวจสอบสคีมา, ภาษาคิวรี (jq, JSONPath) และผู้ดูมีอยู่มากมาย XML ที่เทียบเท่านั้นน้อยกว่าและเก่ากว่าบ่อยครั้ง การทำงานใน JSON จะปลดล็อกระบบนิเวศของเครื่องมือที่สมบูรณ์ยิ่งขึ้น

วิธีใช้งาน

วาง XML รับ JSON

  1. วางหรืออัปโหลด XML ของคุณ: วางข้อความ XML ลงในพื้นที่ป้อนข้อมูลหรือวางไฟล์ XML ต้องมีรูปแบบที่ถูกต้อง XML ที่มีรูปแบบไม่ถูกต้องทำให้เกิดข้อผิดพลาดในการแยกวิเคราะห์มากกว่าการคาดเดา
  2. แปลง: DOMParser สร้าง DOM ตัวแปลงจะเดินแต่ละองค์ประกอบ และสร้าง JSON โดยใช้คีย์แอตทริบิวต์ (@attr) และคีย์เนื้อหาข้อความ (#text) ในกรณีที่จำเป็น องค์ประกอบพี่น้องที่มีชื่อเดียวกันจะกลายเป็นอาร์เรย์
  3. ทบทวนโครงสร้าง: ตรวจสอบ JSON เพื่อยืนยันว่าแอตทริบิวต์ ข้อความ และการซ้อนได้รับการแมปตามที่คาดไว้ แบบแผนที่ใช้ (เช่น @ สำหรับแอตทริบิวต์) จะมองเห็นได้ในเอาต์พุต
  4. ดาวน์โหลดหรือคัดลอก: บันทึกเป็น .json หรือคัดลอกไปยังคลิปบอร์ด

กรณีการใช้งานทั่วไป

รายละเอียดทางเทคนิค

DOMParser สร้าง XML DOM เหมือนกับที่เบราว์เซอร์ใช้สำหรับหน้า XHTML ตัวแปลงเดิน DOM นี้แบบวนซ้ำ สำหรับแต่ละองค์ประกอบ องค์ประกอบจะสร้างออบเจ็กต์ JSON: คุณลักษณะจะกลายเป็นคีย์ที่นำหน้าด้วย @ (เช่น @id, @class) องค์ประกอบลูกขององค์ประกอบจะถูกเรียกซ้ำในโครงสร้างเดียวกัน เนื้อหาข้อความ เมื่อแสดงร่วมกับเด็กๆ จะอยู่ภายใต้คีย์ #text

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

เนมสเปซจะถูกเก็บรักษาไว้เป็นส่วนหนึ่งของชื่อองค์ประกอบ (คำนำหน้า: localName) คำแนะนำในการประมวลผลและส่วน CDATA จะถูกแปลงเป็นเนื้อหาข้อความ การประกาศ XML และ DOCTYPE จะถูกแยกออกจากเอาต์พุต JSON แต่ไม่มีผลกระทบต่อข้อมูล

แนวทางปฏิบัติที่ดีที่สุด

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

การแปลง XML เป็น JSON เปลี่ยนแปลงเนื้อหาหรือไม่
เนื้อหาจะถูกเก็บรักษาไว้อย่างถูกต้องที่สุด อย่างไรก็ตาม คุณลักษณะเฉพาะบางรูปแบบอาจไม่เทียบเท่าโดยตรง ดังนั้นการจัดรูปแบบเล็กน้อยจึงอาจเกิดขึ้นได้
เหตุใดจึงต้องแปลงข้อมูลเป็นรูปแบบ JSON
JSON เป็นรูปแบบข้อมูลมาตรฐานสำหรับเว็บ API และแอปพลิเคชัน JavaScript เป็นภาษาโปรแกรมที่มนุษย์สามารถอ่านได้ รองรับอย่างกว้างขวาง และมีไวยากรณ์ที่ง่ายกว่า XML
ตัวแปลงจัดการโครงสร้าง XML ที่ซ้อนกันหรือซับซ้อนหรือไม่
ใช่. เครื่องมือนี้แยกวิเคราะห์ออบเจ็กต์ที่ซ้อนกัน อาร์เรย์ และประเภทข้อมูล XML มาตรฐานทั้งหมดอย่างถูกต้อง โดยคงโครงสร้างข้อมูลทั้งหมดไว้ในเอาต์พุต JSON
การแปลงนี้ปลอดภัยและเป็นส่วนตัวหรือไม่?
ใช่. การประมวลผลทั้งหมดเกิดขึ้นภายในเบราว์เซอร์ของคุณ ข้อมูลของคุณจะไม่ออกจากอุปกรณ์ของคุณ ไม่มีการอัปโหลดเซิร์ฟเวอร์ ไม่มีการประมวลผลบนคลาวด์ ไม่มีการรวบรวมข้อมูล
มีการจัดการส่วน CDATA หรือไม่
ใช่. เนื้อหา CDATA จะถูกแปลงเป็นข้อความธรรมดาในเอาต์พุต JSON การห่อ CDATA นั้นไม่ได้ถูกรักษาไว้ แต่เนื้อหายังคงอยู่
ข้อมูลของฉันถูกอัพโหลดไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ DOMParser ทำงานในเบราว์เซอร์ของคุณ การแปลงเกิดขึ้นบนอุปกรณ์ของคุณทั้งหมด
JSON จะเดินทางไปกลับเป็น XML หรือไม่
ได้ หากคุณใช้รูปแบบผกผัน (เครื่องมือ JSON เป็น XML เป็นไปตามกฎ @attr และ #text เดียวกัน) การเดินทางไปกลับรักษาโครงสร้างสำหรับ XML ทั่วไป Edge บางกรณี (ลำดับเนื้อหาแบบผสม คำแนะนำในการประมวลผล) อาจไม่คงอยู่ได้อย่างสมบูรณ์แบบ
ขนาดอินพุตสูงสุดคือเท่าใด
สูงสุด 50 เมกะไบต์ DOMParser เป็นหน่วยความจำที่จำกัดโดยเบราว์เซอร์ของคุณ ไฟล์ XML ที่มีขนาดใหญ่มากอาจทำงานช้าลงหรือไม่สามารถแยกวิเคราะห์ได้