0
我在尋找關於此主題的在線建議時遇到了一些麻煩,但我不得不在API設計中多次作出選擇。數據模式風格,如果對象的'名稱'是關鍵字或屬性
應該在映射或數組中顯示一組數據(每個節點的'名稱'作爲屬性)?
映射:
{ "data_name": {"data_value": 10, "unit": "bytes"} }
陣列:
的映射方法當然使數據創建和讀取的代碼更簡單,線更少。然而,數組方法創建了一個很好的封裝類型,適合作爲單個變量提供給構造函數或函數,而不是(name,data_type)變量對。數組方法似乎更接近數據庫風格,其中「名稱」可能是某個命名字段。
當然,數組方法可以平凡地轉換成映射;從映射
mapping = dict((v['name'],v) for v in array)
轉換爲一個陣列需要改變的數據類型(通過引入新的屬性,「姓名」)。數組 - >映射轉換還允許選擇密鑰的用戶,例如UUID,散列或任何參數。
在谷歌的風格指南並沒有權衡黯然:http://google.github.io/styleguide/jsoncstyleguide.xml
事情似乎贊成陣列的方法,但它往往需要更多的代碼,有時顯得不自然在第一。