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

时间:2013-06-17 03:06:55

标签: javascript json

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

{
    "the-field": "something",
    // etc
}

当我调用foo = JSON.parse()时,它会使用字段foo.the-field吐出一个对象文字,但是当我尝试console.log(foo.the-field)时,我被告知这不是JavaScript变量的正确格式。是什么给了什么?

1 个答案:

答案 0 :(得分:5)

您需要使用bracket notation代替dot notation作为此处的member operator

foo["the-field"]

来自文档

如果您使用点符号,那么

  

属性必须是有效的JavaScript标识符,即序列   字母数字字符,也包括下划线(“_”)和   美元符号(“$”),不能以数字开头。例如,   对象。$ 1是有效的,而object.1不是。