代码之家  ›  专栏  ›  技术社区  ›  Ross

有没有建议修改JSON以正式允许未加引号的物业名称?

  •  0
  • Ross  · 技术社区  · 14 年前

    以下是技术上无效的JSON:

    {
      color: "blue",
      size: 14
    }
    

    因为规范要求引用属性名称“颜色”和“大小”,即

    {
      "color": "blue",
      "size": 14
    }
    

    但是,我注意到许多声称返回“json”的Web服务没有引用它们的属性名,几乎没有任何编写javascript的人会引用它们的属性名,因为javascript不需要它。

    是否有任何建议修改或分叉JSON以允许未加引号的财产名称?这似乎是一种更自然的使用格式的方式,但我从来没有看到任何建议它应该被正式采用。

    3 回复  |  直到 14 年前
        1
  •  4
  •   Quentin    14 年前

    JSON的设计理念似乎是 尽可能简单 .

    “用双引号括起属性名”beats“用双引号或单引号括起属性名,并且可以不使用引号,除非名称中包含空格或其他特殊字符”,以便简化。

    我认为这不太可能改变。

    现在,我要在对HTML5设计理念大声疾呼之前停下来。

        2
  •  2
  •   Nosredna    14 年前

    我遇到了与javascript保留字冲突的属性名问题。在解决了一些这样的问题之后,当我有选择的时候,我会保持JSON的大量引用。在我看来,这样更安全。

        3
  •  1
  •   Peter Bailey    14 年前

    不,我怀疑这会发生。如果您使用的Web服务声称返回JSON,但这样做是无效的,请与他们联系。您不修复规范,因为人们错误地实现了它。

    在这里,我们不要串通一气。是的,JSON的名字中有“javascript”,但是很好地理解-JSON 不是 JavaScript。

    在你跳到我面前说“但是在json.org网站上它说 JSON is a subset of JavaScript “是的,我知道。

    对, 从技术上讲 它的javascript,但是由于格式是a)声明性的和b)在javascript上下文之外可用的,所以最好用它的 JavaScript。它只是一种数据格式,恰好也是本机JavaScript。

    这就是为什么你注意到“javascript不需要它”。这是因为javascript没有,但是json . 这也是为什么我更喜欢JSON作为“javascript,但不是真正的”。