2010-10-06 42 views
5

Tôi dự định xây dựng một dịch vụ RESTful sẽ trả về định dạng văn bản tùy chỉnh. Với khối lượng dữ liệu rất lớn của tôi, XML/JSON quá dài dòng. Tôi đang tìm một định dạng văn bản dựa trên hàng.Thay thế cho CSV?

CSV là ứng viên hiển nhiên. Tuy nhiên, tôi tự hỏi nếu không có cái gì tốt hơn ngoài kia. Chỉ tôi tìm thấy thông qua một chút nghiên cứu là CTXFielded Text.

Tôi đang tìm kiếm một định dạng trong đó cung cấp như sau:

  • Plain text, dễ đọc
  • rất dễ dàng để phân tích bởi hầu hết các nền tảng phần mềm
  • nét
  • cột có thể thay đổi mà không cần thay đổi trong khách hàng phần mềm

Văn bản được hiển thị trông khá tốt và tôi có thể tự mình xây dựng đặc điểm kỹ thuật, nhưng tôi tò mò muốn biết những gì người khác đã làm cho điều này phải là một vấn đề rất cũ. Thật đáng ngạc nhiên là không có tiêu chuẩn nào tốt hơn ở đó.

Bạn có đề xuất gì?

Trả lời

3

Tôi có thể nói rằng vì CSV là tiêu chuẩn và vì mọi người dưới ánh nắng mặt trời đều có thể phân tích cú pháp, sử dụng nó.

Nếu tôi ở trong tình huống của bạn, tôi sẽ thực hiện việc đạt băng thông và sử dụng GZIP + XML, chỉ vì nó rất dễ sử dụng. Và, trên ghi chú đó, bạn luôn có thể yêu cầu người dùng của bạn hỗ trợ GZIP và chỉ gửi nó dưới dạng XML/JSON, vì điều đó nên thực hiện một công việc khá tốt trong việc loại bỏ sự thừa trên toàn bộ dây.

+1

Hay đúng hơn, không ai dưới ánh nắng mặt trời có thể phân tích cú pháp. – danielm

3

tôi chắc chắn rằng bạn đã xem xét điều này, nhưng tôi là một fan hâm mộ của file tab-delimited (\ t giữa các trường, dòng mới vào cuối mỗi hàng)

2

Bạn có thể thử YAML, nó trên không tương đối nhỏ so với các định dạng như XML hoặc JSON.

Ví dụ ở đây: http://www.yaml.org/

Đáng ngạc nhiên, văn bản của trang web chính nó là YAML.