JSON và XML
Cả JSON và XML đều có thể được sử dụng để nhận dữ liệu từ máy chủ web.
Các ví dụ JSON và XML sau đây đều xác định một đối tượng nhân viên, với một mảng gồm 3 nhân viên:
Ví dụ về JSON
{"employees":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"Anna", "lastName":"Smith" },
{ "firstName":"Peter", "lastName":"Jones" }
]}
Ví dụ 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 giống như XML vì
- Cả JSON và XML đều "tự mô tả" (con người có thể đọc được)
- Cả JSON và XML đều có tính phân cấp (giá trị bên trong giá trị)
- Cả JSON và XML đều có thể được phân tích cú pháp và sử dụng bởi nhiều ngôn ngữ lập trình
- Cả JSON và XML đều có thể được tìm nạp bằng XMLHttpRequest
JSON không giống XML vì
- JSON không sử dụng thẻ kết thúc
- JSON ngắn hơn
- JSON đọc và viết nhanh hơn
- JSON có thể sử dụng mảng
Sự khác biệt lớn nhất là:
XML phải được phân tích cú pháp bằng trình phân tích cú pháp XML. JSON có thể được phân tích cú pháp bằng hàm JavaScript tiêu chuẩn.
Tại sao JSON tốt hơn XML
XML khó phân tích cú pháp hơn JSON.
JSON được phân tích cú pháp thành một đối tượng JavaScript sẵn sàng sử dụng.
Đối với các ứng dụng AJAX, JSON nhanh hơn và dễ dàng hơn XML:
Sử dụng XML
- Tìm nạp một tài liệu XML
- Sử dụng XML DOM để lặp qua tài liệu
- Trích xuất giá trị và lưu trữ trong các biến
Sử dụng JSON
- Tìm nạp một chuỗi JSON
- JSON.Parse chuỗi JSON