Wikipedia says JSON 被设计为 JavaScript 的非严格子集,即允许使用一些 Unicode 字符。引用截至 2015-11-05 的当前版本:
Though JSON is commonly perceived as being a subset of JavaScript and ECMAScript, it allows some unescaped characters in strings that are illegal in JavaScript and ECMAScript strings.
但是.. 如果我在 ESLint 中粘贴维基百科页面中的任何示例,它会失败并出现错误。
例如我粘贴这个:
{
"id": 1,
"name": "Foo"
}
进入http://eslint.org/demo/并得到:
2:8 - Parsing error: Unexpected token : (undefined)
出于某种原因,冒号在 JavaScript 中似乎是非法的,这与字符串中的未转义字符无关。
为什么人们仍然称 JSON 为 JavaScript 子集?
最佳答案
JSON 是 JavaScript 对象 表示法的子集。您不能凭空声明一个对象。
该对象的 JavaScript 用法是将其分配给一个变量:
var o = {
"id": 1,
"name": "Foo"
};
或者将它传递给一个函数:
console.dir( {"id": 1, "name": "Foo" } );
等等
关于javascript - 为什么 JSON 是 JavaScript 的子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33530729/