JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。
JSON 語法規則
JSON 語法是 JavaScript 對象表示語法的子集。
數據在鍵值對中
數據由逗號分隔
花括號保存對象
方括號保存數組
JSON 名稱/值對
’
JSON 數據的書寫格式是:名稱/值對。
名稱/值對組合中的名稱寫在前面(在雙引號中),值對寫在後面(同樣在雙引號中),中間用冒號隔開:
JSON 值可以是:
數字(整數或浮點數)
字符串(在雙引號中)
邏輯值(true 或 false)
數組(在方括號中)
對象(在花括號中)
null
JSON與XML比較:
1、json的長度比xml短小
2、json的讀寫速度更快
3、json可以使用JavaScript內置的方法直接進行解析並轉換成JavaScript對象,很方便
JSON解析的兩種方法:
1.eval('('+jsondata+')'),eval()會執行json中的js代碼,不判斷是否合法,十分危險,不推薦使用
2.JSON.parse(jsondata),判斷json中的值是否合法,不合法會報錯
eval 與 JSON.parse()的區別: eval 不僅解析了json 還解析了裏面的js輸出語句。而JSON.parse 則不執行其中的js輸出語句
注:eval()是很危險的!因爲eval()方法不會管json字符串是否合法,而且還會直接執行js方法,尤其是執行第三方的代碼,可能會含有惡意代碼。