2010-07-23 21 views
8

Tôi đã bị tính phí khi tạo nguồn dữ liệu đơn giản để khách hàng có thể truy xuất danh sách các thứ bằng JSON. Mỗi điều có một ID, vì vậy xung đầu tiên của tôi là tạo ra một cái gì đó giống nhưJSON: các mục chính theo id hay không?

{ 
    "13": { 
     "name": "foo", 
     "height": 17 
    }, 
    "18": { 
     "name": "bar", 
     "height": 22 
    } 
... 
} 

Nhưng tôi đã được cho biết rằng đây là một sự lạm dụng tài sản JS như một mảng kết hợp, do đó một cái gì đó như thế này sẽ thích hợp hơn :

[ 
    { 
     "id": 13, 
     "name": "foo", 
     "height": 17 
    }, 
    { 
     "id": 18, 
     "name": "bar", 
     "height": 22 
    } 
] 

Phiên bản thứ hai dường như ... khó khăn. Thực hành tốt nhất ở đây là gì?

+0

Tại sao điều này lại là lạm dụng? Dường như với tôi như một cách sử dụng rất hợp pháp. –

Trả lời

3

Cách phổ biến để thực hiện nó là thứ hai và hầu như không có lợi ích gì khi thực hiện công việc trước đây. Tối đa bạn đã lưu người tiêu dùng API của mình khoảng năm lần nhấn phím, lúc tồi tệ nhất bạn đã tạo ra một API ít tự giải thích hơn. tức là Khóa đó có phải là Id của mục không? Có một số loại định danh khác không? Chỉ có duy nhất cho yêu cầu này? Vv

8

Nếu bạn muốn truy cập đối tượng qua ID, hãy sử dụng biến thể cũ với ID làm tên thuộc tính. Sau đó, bạn có thể truy cập trực tiếp đối tượng đó bằng ID của đối tượng. Nếu không, nếu bạn vẫn cần làm việc với tất cả các đối tượng, hãy sử dụng biến thể thứ hai.

+1

Tôi thực sự không biết cách khách hàng sẽ sử dụng dữ liệu này như thế nào. – erjiang

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