很多人将JSON看成是JavaScript對象。其實JSON是一種字元串的表示方法,這種表示受到了JavaScript對象結構的啟發而已。設計JSON的用意是友善伺服器和浏覽器交換資料。由于JSON的簡單性,在浏覽器、伺服器之外的領域也有廣泛的應用。

我嘗試複制一些JavaScript對象,然後将它們發送到一個基于JSON的書簽站點。但是它不能工作,為什麼?讓我們檢查一下我嘗試發送的JavaScript對象:
{
name : "why this kolaveri di",
url : "http://www.youtube.com/watch?v=YR12Z8f1Dh8",
singer: "Dhanush",
movie: "3",
music : "Anirudh Ravichandran",
views : 10000000,
// Adding this for testing purpose
play : function() { },
}
伺服器傳回的錯誤資訊是
Unexpected token n
(伺服器使用NodeJS和Express架構搭建),這意味着上面的JavaScript對象不是合法的JSON。我閱讀了Douglas Crockford的 JSON說明 ,然後注意到了這些規定: - 所有的鍵必須用雙引号包裹
- JSON不支援注釋
- JSON的值不得為函數,不得未定義。值可以是用雙引号包裹的字元串,或是數字,或true、false,或null,或一個對象、數組。允許嵌套結構。
- JSON的最後一個值不使用
分隔符。,
是以我上面的代碼需要修改成
"name" : "why this kolaveri di",
"url" : "http://www.youtube.com/watch?v=YR12Z8f1Dh8",
"singer": "Dhanush",
"movie": "3",
"views" : 10000000,
"music" : "Anirudh Ravichandran"
我覺得,學習JSON标記是很重要的,因為web開發中的大量配置檔案(package.json、bower.json)是JSON格式。每個web開發者都應該了解JSON。