维基百科说JSON 被设计为 JavaScript 的非严格子集,即添加允许使用一些 Unicode 字符。引用截至 2015-11-05 的当前版本:
尽管 JSON 通常被认为是 JavaScript 和 ECMAScript 的子集,但它允许在 JavaScript 和 ECMAScript 字符串中非法的字符串中包含一些未转义的字符。
但是..如果我将任何来自 Wikipedia 页面的示例粘贴到 ESLint 中,它会因错误而失败。
例如我粘贴这个:
{
"id": 1,
"name": "Foo"
}
进入http://eslint.org/demo/并获取:
2:8 - 解析错误:意外令牌:(未定义)
由于某种原因,冒号在 JavaScript 中似乎是非法的,它与字符串中的未转义字符无关。
为什么人们仍然称 JSON 为 JavaScript 子集?