屬性順序

2018-02-24 15:12 更新

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

Kind屬性

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

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

Items屬性

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

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

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

屬性順序示例:

// "kind" 屬性區(qū)分 "album" 和 "photo".
// "Kind" 始終是它父對(duì)象的第一個(gè)屬性.
// "items" 屬性是 "data" 對(duì)象的最后一個(gè)屬性.
{
  "data": {
    "kind": "album",
    "title": "My Photo Album",
    "description": "An album in the user's account",
    "items": [
      {
        "kind": "photo",
        "title": "My First Photo"
      }
    ]
  }
}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)