【问题标题】:what is the purpose of using square brackets in json? [duplicate]在json中使用方括号的目的是什么? [复制]
【发布时间】:2016-04-18 07:57:29
【问题描述】:

我是 json 新手。我见过的一些 json 示例在花括号中包含数据,而一些 json 示例在方括号中包含子数据。

{
"glossary": {
    "title": "example glossary",
    "GlossDiv": {
        "title": "S",
        "GlossList": {
            "GlossEntry": {
                "ID": "SGML",
                "SortAs": "SGML",
                "GlossTerm": "Standard Generalized Markup Language",
                "Acronym": "SGML",
                "Abbrev": "ISO 8879:1986",
                "GlossDef": {
                    "para": "A meta-markup language, used to create markup languages such as DocBook.",
                    "GlossSeeAlso": ["GML", "XML"]
                },
                "GlossSee": "markup"
            }
        }
    }
}
}

来自http://json.org/example.html

在方括号中包含数据的需要/目的是什么?

问候

【问题讨论】:

  • @Quentin 我的问题与建议为重复的问题不同。
  • 不,它没有。你在问[]{} 之间的区别是什么,这个问题是问[]{}new Array() 之间的区别是什么。这几乎相同,没有实际差异。
  • @Quentin 也许吧。我认为 [ ] within { } 有不同的意义。没问题,我现在明白了。
  • 使用 JSON 示例的区别对我来说很重要。我想只要问题仍然存在,就可以被标记为骗子。
  • 重复的东西是多么微不足道的理由......我知道这是从哪里来的,但假设你知道 javascript 和 json 实际上是同一件事,否则它会看起来很奇怪。

标签: json square-bracket


【解决方案1】:

方括号产生一个列表/数组。

大括号产生一个带有键/值对的对象。

然后列表可以是键/值对的值。

【讨论】:

  • “产品”不是依赖于每种语言的反序列化功能的实现吗? json 不只是纯文本的一些规则吗?我认为只有编程语言才能有“生成数据类型或对象”的规则
【解决方案2】:

[] 表示对象数组(列表) 而{} 表示它将是一个对象。

例子:

{
    "ID":"test",
    "sports": [
        "volley-ball",
        "badminton"
    ]
}

要获取 ID,你可以这样做:myjsonobject.ID(这里你会得到“测试”)

对于运动:myjsonobject.sports[0](在这里你会得到“排球”)

【讨论】:

  • 这个例子让 { } 和 [ ] 的概念变得清晰。谢谢!
  • 也就是说,[ ] 是一个数组,而 { } 是一个哈希表。对于 PowerShell 人员,[ ] 等于 @( ),而 { } 等于 @{ }。
猜你喜欢
  • 1970-01-01
  • 2014-10-24
  • 2011-02-27
  • 2018-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多