很多人都把JSON當作JavaScript對象,但它根本不是。JSON只是一種靈感來自JavaScript對象結構的字符串表示法。JSON被設計得簡單松散,用來在服務器和浏覽器之間傳輸數據。因為它的簡潔性,也在浏覽器和服務器之外的其他應用中被使用。
我嘗試拷貝一些JavaScript對象並發送到基於JSON的書簽Web服務器,但是它不工作。為什麼?看看我要發送的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框架發送),這表明我發送的不是合法的JSON。為找到原因,我去讀了Douglas Crockford寫的JSON spec 之後終於明白了:
我把它改成正確格式:
{
"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。
Happy coding and Have a nice day.
--------------------------------------分割線 --------------------------------------
Struts中異步傳送XML和JSON類型的數據 http://www.linuxidc.com/Linux/2013-08/88247.htm
Linux下JSON庫的編譯及代碼測試 http://www.linuxidc.com/Linux/2013-03/81607.htm
jQuery 獲取JSON數據[$.getJSON方法] http://www.linuxidc.com/Linux/2013-03/81673.htm
用jQuery以及JSON包將表單數據轉為JSON字符串 http://www.linuxidc.com/Linux/2013-01/77560.htm
在C語言中解析JSON配置文件 http://www.linuxidc.com/Linux/2014-05/101822.htm
--------------------------------------分割線 --------------------------------------