哪个是更好的JSON设计:直接使用对象或对象的数组

时间:2013-01-04 06:31:09

标签: json

哪种是更好的JSON数据格式。要求是能够存储和检索有关在服务器上部署了多少项目的信息。

基于对象的设计

{ 
   "Server1":{
        "project1":{
            "buildNo":"290",
            "deployed":"12/12/2012"
        },
        "project2":{
            "buildNo":"291",
            "deployed":"11/12/2012"
        },
        "project3":{
            "buildNo":"209",
            "deployed":"11/12/2012"
        }
  }
}

基于阵列的设计

{ 
   "Server1":[
        {"project1":{
            "buildNo":"290",
            "deployed":"12/12/2012"
        }},
        {"project2":{
            "buildNo":"291",
            "deployed":"11/12/2012"
        }},
        {"project3":{
            "buildNo":"209",
            "deployed":"11/12/2012"
        }}
    ]
}

请让我知道你对这些方法中的任何一种的反对意见。

2 个答案:

答案 0 :(得分:1)

我的想法:

  1. 解析:    两者都具有相似的复杂性。
  2. 添加/删除:    两者都具有相似的复杂性
  3. 可读性/信息表示:    第一个表示固定结构,而第二个表示可以在以后删除项目。

答案 1 :(得分:1)

项目的顺序是否重要?

如果是,则数组是表示该数组的最简单方法。

如果不是,那么数组需要一个不必要的预处理步骤来将数组索引映射到项目名称,然后才能按名称访问它们。