JSON

JSON簡介

 

[plain] viewplaincopy在CODE上查看代碼片派生到我的代碼片
  1. JSON指的是JavaScript對象表示法(JavaScript Object Notation)  
  2. JSON用來存儲和交換文本信息  
  3. JSON是純文本的  
  4. JSON具有自我描述性  
  5. JSON具有層級結構  
  6. JSON可通過JavaScript進行解析  
  7. JSON數據可以使用AJAX進行傳輸  

JSON語法

 

 

[plain] viewplaincopy在CODE上查看代碼片派生到我的代碼片
  1. JSON語法是JavaScript語法的子集  
  2. JSON數據的書寫格式是:名稱/值對  
  3. JSON值  
  4.     數字(整數或浮點數)  
  5.     字符串(在雙引號中)  
  6.     邏輯值(true 或 false)  
  7.     數組(在方括號中)  
  8.     對象(在花括號中)  
  9.     null  
  10. 數據由逗號分隔  
  11. var txt = '{"student":[{"name":"lwc","age":26},{"name":"nxj","age":24}]}';  
  12.     創建一個單獨成員student對象,此成員包含兩個對象name,age的數組  

兩種JSON數組遍歷的兩種方法

 

 

[javascript] viewplaincopy在CODE上查看代碼片派生到我的代碼片
  1.   

JSON文件

 

 

[plain] viewplaincopy在CODE上查看代碼片派生到我的代碼片
  1. JSON文件的文件類型是 .json  
  2. JSON文本的MIME類型是 application/json  

JSON文本轉換爲JavaScript對象

 

 

[javascript] viewplaincopy在CODE上查看代碼片派生到我的代碼片
  1. name: "name">  
  2. age: "age">  
  3.   
  4. 使用JavaScript函數eval_r()可用於將JSON文本轉換爲JavaScript對象  
  5.   
  6. 使用JSON解析器將JSON字符串轉換爲對象(IE8以下版本不支持JSON對象)  

IE6,IE7下JSON.parse JSON未定義的解決方法

 

 

[javascript] viewplaincopy在CODE上查看代碼片派生到我的代碼片
  1. 方法一:  
  2.     
  3. 方法二:調用json2.js(推薦)  
  4.     "text/javascript" src="js/json2.js">  
  5.     
  6.     json2.js下載地址 http://download.csdn.net/detail/itlwc/5893971  

eval_r() vs JSON.parse() vs JSON.stringify()

 

 

[javascript] viewplaincopy在CODE上查看代碼片派生到我的代碼片
  1. eval_r()  
  2.     使用eval_r()講JSON文本轉換爲對象,eval_r()是調用JavaScript編譯器  
  3.     由於JSON是JavaScript的子集,因此編譯器正確的解析文本產生對象  
  4.     eval_r()非常快速,他可以編譯執行任何JavaScript,因此產生了安全性問題  
  5.     當使用可信任,完善的JavaScript程序時纔可以使用eval_r()  
  6.     使用XMLHttpRequest的web應用,頁面之間通訊是同源的,因此是可信任的,但不完善  
  7.     如果服務器沒有嚴謹的JSON編碼,或者沒有嚴格的輸入驗證,那麼可能傳送包括危險腳本的無效JSON文本  
  8.     eval_r()將執行惡意的腳本  
  9. JSON.parse()  
  10.     JSON.parse()解析器只能辨識JSON文本,拒絕所有腳本  
  11.     提供了本地JSON支持的瀏覽器的JSON解析器將遠快於eval函數  
  12.     預計未來的ECMAScript標準將支持本地JSON  
  13. JSON.stringify()  
  14.     JSON.stringify()進行反向操作,可以將JavaScript轉換爲JSON文本  
  15.     JSON不支持循環數據,因此不要爲JSON.stringify()提供循環數據  
  16.     案例  
  17.         
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章