屬性順序

2018-02-24 15:12 更新

在JSON對象中屬性可有任意順序。然而,在某些情況下,有序的屬性可以幫助分析器快速解釋數(shù)據(jù),并帶來更好的性能。在移動環(huán)境下的解析器就是個例子,在這種情況下,性能和內(nèi)存是至關(guān)重要的,不必要的解析也應(yīng)盡量避免。

Kind屬性

Kind屬性應(yīng)為第一屬性

假設(shè)一個解析器負責將一個原始JSON流解析成一個特定的對象。_kind_屬性會引導(dǎo)解析器將適合的對象實例化。因而它應(yīng)該是JSON對象的第一個屬性。這僅適用于對象有一個kind屬性的情況(通??梢栽赺data_和_items_屬性中找到)。

Items屬性

_items_應(yīng)該是_data_對象的最后一個屬性

這使得閱讀每一個具體條目前前已讀所有的集合屬性。在有很多條目的情況下,這樣就避免了開發(fā)人員只需要從數(shù)據(jù)的字段時不必要的解析這些條目。

這讓閱讀所有集合屬性先于閱讀單個條目。如遇多個條目的情況,當開發(fā)者僅需要數(shù)據(jù)中的字段時,這就可避免解析不必要的條目。

屬性順序示例:

// "kind" 屬性區(qū)分 "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"
      }
    ]
  }
}
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號