2012-10-18 20 views
6

Trong ứng dụng của tôi, tôi sử dụng nhiều API của Google, và trong tài liệu của tất cả chúng nó mang lại cho tôi hai lựa chọn:Tại sao JSON thường được đề xuất trên XML trong tài liệu Google API?

  • JSON (Recommended)
  • XML

Bây giờ, khi gửi yêu cầu và truy xuất phản hồi tại sao JSON lại tốt hơn? Xcode có một trình phân tích cú pháp xml được tạo sẵn và cho JSON, bạn phải sử dụng một trình phân tích cú pháp JSON như AFNetworking. Điều gì làm cho JSON nổi bật? Nó hiệu quả hơn hay nhanh hơn?

+2

http://www.json.org/xml.html kết thúc tốt nhất cảm xúc của tôi về nó. –

Trả lời

1

JSON hiệu quả hơn nhiều so với XML, lớn hơn toàn bộ so với JSON. Rất dễ phân tích cú pháp, bạn có thể sử dụng NSJSONSerialization và phân tích các biểu diễn của JSON trong 2 dòng và mili giây, chỉ cho thấy rằng nó tiêu thụ ít bộ nhớ hơn.

JSON là viết tắt của JavaScript Object Notation, không giống như Java, JavaScript sang Java giống như ham để chuột đồng. Nhiều người mắc lỗi đó.

3

Khi bạn so sánh kích thước của các biểu diễn JSON và XML của cùng một đối tượng, JSON nhỏ hơn nhiều.

Vì vậy, khi sử dụng nó để chuyển dữ liệu qua mạng (như Internet), sẽ hiệu quả hơn khi sử dụng JSON.

Nó cũng là một tiêu chuẩn đơn giản hơn để thực hiện và sử dụng hơn XML và do đó dễ dàng hơn để xử lý và phân tích cú pháp (nghĩa là ít CPU hơn).

Đối với hầu hết các ứng dụng, không cần một số ứng dụng XML nâng cao hơn, vì vậy JSON là một lựa chọn tốt.

2

JSON nhỏ hơn và có phí tổn trên không với XML.

Có XML có thể được phân tích cú pháp theo số NSXMLParser, nhưng vì đây là trình phân tích cú pháp SAX, cần nhiều dòng mã hơn để tạo trình phân tích cú pháp tốt.

Als kể từ iOS 5 JSON là als nativily sẵn, NSJSONSerialization

AFNetworking không phải là một phân tích cú pháp JSON, nó sẽ sử dụng bản địa NSJSONSerialization nếu avalalable hoặc khác một bạn cung cấp.

2

XML có các kiểu dữ liệu - đáng chú ý là nội dung hỗn hợp - cần thiết để hỗ trợ các tài liệu văn bản miễn phí, nhưng không dễ dàng xử lý bằng các ngôn ngữ lập trình chuẩn như Javascript. Vì vậy, nếu bạn muốn sử dụng các ngôn ngữ lập trình chuẩn bog và bạn không cần phải hỗ trợ các tài liệu văn bản miễn phí, bạn có thể tránh sự phức tạp bằng cách không sử dụng XML. Ngược lại, nếu bạn muốn sử dụng tài liệu văn bản miễn phí, bạn cần XML và bạn nên sử dụng ngôn ngữ lập trình được thiết kế để xử lý dễ dàng, như XSLT, XQuery hoặc LINQ.

Các vấn đề liên quan