JSON กับ XML
ทั้ง JSON และ XML สามารถใช้เพื่อรับข้อมูลจากเว็บเซิร์ฟเวอร์
ตัวอย่าง JSON และ XML ต่อไปนี้กำหนดอ็อบเจ็กต์พนักงาน โดยมีพนักงาน 3 คน:
ตัวอย่าง JSON
{"employees":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"Anna", "lastName":"Smith" },
{ "firstName":"Peter", "lastName":"Jones" }
]}
ตัวอย่าง XML
<employees>
<employee>
<firstName>John</firstName> <lastName>Doe</lastName>
</employee>
<employee>
<firstName>Anna</firstName> <lastName>Smith</lastName>
</employee>
<employee>
<firstName>Peter</firstName> <lastName>Jones</lastName>
</employee>
</employees>
JSON เป็นเหมือน XML เพราะ
- ทั้ง JSON และ XML เป็น "การอธิบายตนเอง" (มนุษย์สามารถอ่านได้)
- ทั้ง JSON และ XML เป็นลำดับชั้น (ค่าภายในค่า)
- ทั้ง JSON และ XML สามารถแยกวิเคราะห์และใช้งานโดยภาษาโปรแกรมมากมาย
- สามารถดึงทั้ง JSON และ XML ด้วย XMLHttpRequest
JSON ไม่เหมือนกับ XML เพราะ
- JSON ไม่ได้ใช้แท็กปิดท้าย
- JSON สั้นกว่า
- JSON อ่านและเขียนได้เร็วกว่า
- JSON สามารถใช้อาร์เรย์
ความแตกต่างที่ใหญ่ที่สุดคือ:
XML จะต้องถูกแยกวิเคราะห์ด้วยตัวแยกวิเคราะห์ XML JSON สามารถแยกวิเคราะห์โดยฟังก์ชัน JavaScript มาตรฐาน
ทำไม JSON ถึงดีกว่า XML
XML แยกวิเคราะห์ยากกว่า JSON มาก
JSON ถูกแยกวิเคราะห์เป็นวัตถุ JavaScript ที่พร้อมใช้งาน
สำหรับแอปพลิเคชัน AJAX JSON นั้นเร็วกว่าและง่ายกว่า XML:
การใช้ XML
- เรียกเอกสาร XML
- ใช้ XML DOM เพื่อวนรอบเอกสาร
- แยกค่าและเก็บไว้ในตัวแปร
ใช้ JSON
- ดึงสตริง JSON
- JSON.Parse สตริง JSON