【发布时间】:2016-07-06 09:14:20
【问题描述】:
所以我们得到了一些如下所示的 JSON:
"myBigObj": {
"myFirstSmallerObj": {
"attr1": 42, // in fact!? you could even git rid of these commas too, if all keys are "keys"?
"attr2": 43
},
"mySecondSmallerObj": {
"attr1": true,
"attr2": false
}
}
现在,我明白了为什么必须在属性之间使用逗号 - 它分隔了键:值部分,因此您可以知道 attr1: 42 的开始和结束位置(而不是 attr1:trueattr2:false)。
这让我想到了我的问题:为什么对象之间有逗号?似乎{} 配对提供了足够的信息来判断对象从哪里开始、结束以及它们是如何嵌套的......或者?
【问题讨论】:
-
一致的结构使解析更容易。如果逗号在某些情况下只存在,解析器必须更复杂......
-
@CBroe
{}不是用于数组,而是用于对象。[]用于数组。 -
这些似乎是 JS 对象文字,而不是 JSON 文本。你问的是 JavaScript 还是 JSON?
-
我的意思是 JSON ......只是对它草率,因为我对这两者都不熟悉。将更新问题。
-
... 但问题仍然是 JS 对象字面量,对吧? (除了关于 attr:value 逗号分隔符的旁白)
标签: javascript json sorting object