2011-10-19 25 views
8

Từ các quan sát của tôi, tổng quan JSON nhanh hơn là Parse hơn XML. Tôi đã tìm thấy hai câu hỏi hay về vấn đề này. Một yêu cầu được yêu cầu cho PHP và một yêu cầu khác được yêu cầu cho JavaScript. Tôi muốn biết về python, python có hiệu quả với chúng như thế nào? và hiệu quả hơn để phân tích cú pháp. Ngoài ra, vui lòng trợ giúp trong việc chọn trình phân tích cú pháp Python tốt nhất cho XML (ví dụ: thư viện xmlparser, lxml hoặc?) Và JSON (simplejson, jsonlib hoặc?).Python - Cách phân tích cú pháp Json hoặc XML nhanh hơn?

+3

Thời gian phân tích thường không phải là mối quan tâm lớn, với một trong hai định dạng. Khả năng đọc của con người, tổng kích thước của dữ liệu (tổng số byte: JSON thường nhỏ hơn), lượng thông tin được lưu trữ (XML có thể tự mô tả tốt hơn) và dễ sử dụng (một hoặc khác có thể dễ dàng hơn để xử lý mã) tất cả có xu hướng vượt quá thời gian phân tích cú pháp. – Thanatos

+1

Blog này cho biết đó là JSON http://codersbuffet.blogspot.com/2010/03/json-vs-xml-and-python-parsing.html –

+0

@Thanatos và lựa chọn phân tích cú pháp là gì? Về cơ bản tôi đang làm việc trên một API cung cấp cho cả hai phản ứng xml và json. Tôi đang nghĩ đến lxml cho xml prsing và cho phân tích cú pháp json bằng cách sử dụng simplejson sẽ tốt hơn? Dữ liệu được lồng ghép phức tạp. –

Trả lời

8

Theo ý kiến ​​của tôi, không có ý nghĩa gì khi so sánh thời gian phân tích cú pháp XML và JSON. Chọn một định dạng trên một định dạng khác tùy thuộc vào trường hợp sử dụng của bạn.

Nếu bạn chỉ muốn lưu trữ các kiểu nguyên thủy như được hỗ trợ bởi JSON theo định dạng đơn giản, có thể đọc được, JSON là con đường để đi. Nếu bạn cần tất cả sức mạnh và sự phức tạp của một ngôn ngữ đánh dấu, hãy sử dụng XML. Có thể bạn không muốn phát minh ra một định dạng tài liệu dựa trên JSON.

Nút cổ chai với phân tích cú pháp JSON và XML thường không phải là bản phân tích cú pháp, mà là việc diễn giải/trình bày dữ liệu. Một trình phân tích cú pháp XML dựa trên sự kiện thường rất nhanh, nhưng việc xây dựng một cây DOM phức tạp của hàng nghìn đối tượng nhỏ thì không. Nếu bạn cần phân tích cú pháp XML thành các cấu trúc dữ liệu gốc lồng nhau như danh sách và từ điển, phần chậm sẽ là cách diễn giải kết quả phân tích cú pháp, chứ không phải phân tích chuỗi thực tế. Vì JSON phân tích cú pháp đúng với các kiểu nguyên thủy đó chứ không phải là một cây đối tượng phức tạp, nó có thể sẽ nhanh hơn.

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