【问题标题】:How to format JSON: Array of objects, or document containing elements with objects?如何格式化 JSON:对象数组或包含对象元素的文档?
【发布时间】:2013-02-01 07:16:11
【问题描述】:

所以我目前正在尝试开发一个 JSON 文档,该文档将最容易迭代和访问对象。我将使用下划线,因此访问对象并不一定很困难,但我想知道格式化的最佳方法是什么 - 最佳实践等。

这是我正在考虑的两种格式:第一种是数组

{
    "defaultViews" : [
        {
            "name" : "view1",
            "title" : "View 1"
        },
        {
            "name" : "view2",
            "title" : "View 2"
        }
    ]
}

或者,另一种方式,更......“面向对象”......

{
    "defaultViews" : {
        "view1" : {
            "title" : "View 1"
        },
        "view2" : {
            "title" : "View 2"
        }
    }
}

因此,在第一个示例中,遍历对象更容易,而在第二个示例中,直接访问对象更容易 (obj.defaultViews.view1)。我想这是相当主观的,但我再次寻找被认为是“最佳实践”的东西。谢谢!

【问题讨论】:

  • 您自己已经回答了您的问题:“因此,在第一个示例中,遍历对象更容易,而在第二个示例中,直接访问对象更容易 (obj.defaultViews.view1) 。”
  • 是的,我想哈哈,所以没有真正的标准吗?
  • 具体格式通常取决于您的目标。此外,第二种表示法仅适用于键(view1view2)是唯一的,而第一种表示法没有这种限制。
  • 关于代码设计征求意见属于codereview.stackexchange.com,不在此处。
  • 'more....“面向对象”' - 我不知道你的意思是开玩笑,还是你认为它以某种方式遵循“面向对象” “编码原则?从 OO 的角度来看,第一种方法非常好。 (顺便说一句,您不遍历 JSON,而是解析 JSON 并遍历生成的对象/数组。)

标签: javascript json serialization formatting


【解决方案1】:

在面向对象原则中使用数组并没有错。第一个使用数组的例子也是一种更好的方法,因为你真正想要的是一个数组

【讨论】:

  • 是的,我也倾向于这个 - 只是因为我确实可以选择遍历数组而不是其他方式..
猜你喜欢
  • 2020-09-01
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多