【问题标题】:JSON key names? [duplicate]JSON键名? [复制]
【发布时间】:2012-09-29 00:18:24
【问题描述】:

可能重复:
JSON Spec - does the key have to be surrounded with quotes?

正确的语法是什么?

{ key: "value" }{ "key": "value" }?

我已经看到了这两种方式,并且在我的测试中都有效,但我只是好奇哪个在语法上是正确的?

【问题讨论】:

标签: javascript json


【解决方案1】:

JSON 需要引用键。 JavaScript 没有。所以对于 JSON,你的第二个例子是正确的。

【讨论】:

  • JavaScript 不会,只要键适合 JavaScript 标签(字母数字、初始 alpha 以及其他一些东西)。
  • 扩展@Malvolio。你也不能有没有引号的 Javascript 保留字。例如,您不能有 { undefined : "value" }。我通常只包含引号以保持一致。
  • @RyanO'Neill:规范(无论如何是ECMAScript 5) 允许您使用不带引号的保留字。只是一些较旧的浏览器不允许它。而undefined 实际上没有保留。这是一个有效的标识符。
  • @user1689607 -- 如果你写像{ function : 6, undefined : "value" } 这样的东西,你应该得到所有毫无疑问会发生在你身上的可怕事情!
  • 不确定,确切地说,但我对代码业力有信心。周而复始。
【解决方案2】:

它们都是 javascript 对象的有效表示法。只有完全引用的第二个版本是有效的 JSON。

请参阅 the specthis web-based linter

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 2018-04-19
    • 2016-10-07
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多