JSON中的有效名称与JavaScript对象文字之间的差异

Dav*_*fau 1 javascript json

我有一个JSON格式的文档,如下所示:

{
    "the-field": "something",
    // etc
}
Run Code Online (Sandbox Code Playgroud)

当我调用foo = JSON.parse()它时,用一个字段吐出一个对象文字foo.the-field,但是当我尝试时,console.log(foo.the-field)我被告知它不适合JavaScript变量的格式化.是什么赋予了?

Aru*_*hny 5

您需要在此处使用括号表示法而不是点表示法作为成员运算符

foo["the-field"]
Run Code Online (Sandbox Code Playgroud)

来自Docs

如果你使用点符号那么

property必须是有效的JavaScript标识符,即一系列字母数字字符,也包括下划线("_")和美元符号("$"),它们不能以数字开头.例如,object.$ 1有效,而object.1则无效.