2009-12-08 18 views
0

以下是技術上無效JSON:是否有任何提議修改JSON以正式允許未引用的屬性名稱?

{ 
    color: "blue", 
    size: 14 
} 

因爲屬性名稱「色」,並在規範中要求的「大小」被引用,即

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

不過,我注意到聲稱返回「JSON」的許多Web服務不會引用它們的屬性名稱,並且幾乎沒有人在編寫JavaScript時會引用它們的屬性名稱,因爲Javascript不需要它。

是否有過修改任何建議或叉子JSON允許不帶引號的屬性名稱?這似乎是使用這種格式更自然的方式,但我從來沒有看到任何暗示它應該被正式採用的方式。

回答

4

JSON的設計哲學似乎是保持儘可能簡單

「包裝用雙引號的屬性名稱」節拍「用雙引號或單引號包裹屬性名稱,你可以離開了引號關閉,除非名稱中包含空格或其他特殊字符」的簡單性。

我不認爲這可能會改變。

現在我將停止之前,我去關上關於HTML5的設計理念咆哮。

+0

「JSON設計的理念似乎儘可能簡單。」事實上:http://json.org/ – 2009-12-08 17:09:28

2

我已經與使用JavaScript相撞屬性名稱麻煩保留字。在與幾個這樣的問題鬥爭之後,當我有選擇的時候,我保留了我的JSON的引用。在我看來,它更安全。

1

不,我懷疑這會發生。如果您使用聲稱返回JSON的網絡服務,但無效,請聯繫他們。你沒有修正規範,因爲人們錯誤地實現了它。

讓我們不要勾引我們的條款,在這裏。是的,JSON的名字中有「JavaScript」,但是很好理解--JSON 不是 Javascript。

你跳到我面前說:「但在json.org網站它說:JSON is a subset of JavaScript」 - 是的,我知道。

是,從技術上來講它的JavaScript,但由於格式是)stricly聲明和b)使用的JavaScript的上下文之外,這是最好的心態,它的 JavaScript來對待它。這只是一種數據格式,也恰好是原生JavaScript。

這就是爲什麼你注意到「JavaScript不需要它」。那麼,那是因爲JavaScript沒有,但是JSON 確實是。這又是爲什麼我更喜歡把JSON當作「JavaScript,但不是真的」。

相關問題