属性排序
属性在 JSON 对象中可以是任意顺序。然而,在某些情况下,属性的排序可以帮助解析器快速解释数据并提高性能。一个例子是移动环境中的拉取解析器(pull parser),其中性能和内存至关重要,应避免不必要的解析。
Kind 属性
kind 应该是第一个属性
假设解析器负责将原始 JSON 流解析为特定对象。kind 属性指导解析器实例化适当的对象。因此它应该是 JSON 对象中的第一个属性。这仅适用于具有 kind 属性的对象(通常出现在 data 和 items 属性中)。
Items 属性
items 应该是 data 对象中的最后一个属性
这允许在读取每个单独项目之前先读取集合的所有属性。在项目很多的情况下,当开发者只需要 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"
}
]
}
}Last updated on