在JSON對象中屬性可有任意順序。然而,在某些情況下,有序的屬性可以幫助分析器快速解釋數據,并帶來更好的性能。在移動環境下的解析器就是個例子,在這種情況下,性能和內存是至關重要的,不必要的解析也應盡量避免。
## Kind屬性
**Kind屬性應為第一屬性**
假設一個解析器負責將一個原始JSON流解析成一個特定的對象。_kind_屬性會引導解析器將適合的對象實例化。因而它應該是JSON對象的第一個屬性。這僅適用于對象有一個kind屬性的情況(通常可以在_data_和_items_屬性中找到)。
## Items屬性
**_items_應該是_data_對象的最后一個屬性**
這使得閱讀每一個具體條目前前已讀所有的集合屬性。在有很多條目的情況下,這樣就避免了開發人員只需要從數據的字段時不必要的解析這些條目。
這讓閱讀所有集合屬性先于閱讀單個條目。如遇多個條目的情況,當開發者僅需要數據中的字段時,這就可避免解析不必要的條目。
屬性順序示例:
~~~
// "kind" 屬性區分 "album" 和 "photo".
// "Kind" 始終是它父對象的第一個屬性.
// "items" 屬性是 "data" 對象的最后一個屬性.
{
"data": {
"kind": "album",
"title": "My Photo Album",
"description": "An album in the user's account",
"items": [
{
"kind": "photo",
"title": "My First Photo"
}
]
}
}
~~~
- Google 開源項目風格指南 (中文版)
- C++ 風格指南
- 0. 扉頁
- 1. 頭文件
- 2. 作用域
- 3. 類
- 4. 來自 Google 的奇技
- 5. 其他 C++ 特性
- 6. 命名約定
- 7. 注釋
- 8. 格式
- 9. 規則特例
- 10. 結束語
- Objective-C 風格指南
- Google Objective-C Style Guide 中文版
- 留白和格式
- 命名
- 注釋
- Cocoa 和 Objective-C 特性
- Cocoa 模式
- Python 風格指南
- Google Python 風格指南 - 中文版
- 背景
- Python語言規范
- Python風格規范
- 臨別贈言
- JSON 風格指南
- 簡介
- 定義
- 一般準則
- 屬性名準則
- 屬性值準則
- 屬性值數據類型
- JSON結構和保留屬性名
- 頂級保留屬性名稱
- data對象的保留屬性名
- 用于分頁的保留屬性名
- 用于鏈接的保留屬性名
- 錯誤對象中的保留屬性名
- 屬性順序
- 示例
- 附錄