摘要:很多人將看成是對象。其實是一種字符串的表示方法,這種表示受到了對象結構的啟發而已。設計的用意是方便服務器和瀏覽器交換數據。值可以是用雙引號包裹的字符串,或是數字,或,或,或一個對象數組。的最后一個值不使用分隔符。
很多人將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。
原文 JSON is not Javascript Object
翻譯 SegmentFault
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/87507.html
摘要:什么是接口測試全稱接口是一個位于復雜系統之上能簡化任務,像中間人一樣不需要你了解詳細的所有細節。接口測試與性能測試之間存在接口性能測試,主要通過來進行壓測。 很多小...
摘要:提取字符串的一個子串,的一個變體提取字符串的一個子串返回指定字符串的一份副本都轉化為小寫返回指定字符串的一份副本都轉化為大寫返回指定字符串的一份副本,其中前后的空白字符都已刪除返回原始的字符串值。 Arguments callee 指代當前正在執行的函數 length 傳遞給函數的參數個數,以及Arguments對象中數組元素的個數 Array 構造函數 new Array()...
摘要:會對對象中的每一個鍵值對調用函數,然后會使用其返回值,作為格式化后的值,比如使每個屬性的值遞增函數在省略敏感數據時,十分有用。如果它發現方法,會調用它,然后將它的返回值替換格式化后的值,比如方法可以返回任意的值,包括對象基礎類型,或者。 http://thecodebarbarian.com/t... 寫在前面 JSON.stringfy()是將一個 JavaScript 對象轉化為 ...
閱讀 2902·2021-11-23 09:51
閱讀 1547·2021-11-15 11:36
閱讀 3006·2021-10-13 09:40
閱讀 1864·2021-09-28 09:35
閱讀 13040·2021-09-22 15:00
閱讀 1367·2019-08-29 13:56
閱讀 2924·2019-08-29 13:04
閱讀 2699·2019-08-28 18:06