json.js+ jquery 操作筆記


json.js下載地址:

http://www.json.org/js.html

 

我初學JSON,按照官方說明,在json2.js中有parse和stringify兩個方法,parse用於從一個字符串中解析出json對象。還是舉個例子說明:

1 var str = "{'name':'x', 'age':23}";
2 JSON.parse(str.name);

原來認為這肯定能夠正確執行的,但是無論怎樣寫這個對象string,都拋出異常。后來發現原來是 和 導致的錯誤。如果改為:

1 var str='{"name":"xskow", "age":23}';
2 JSON.parse(str.name);

就OK了!

還有就是我們寫對象的時候一般可以{name:'xskow'},即屬性名可以不用雙引號括起來,但如果使用JSON.parse的話,每個屬性都必須用雙引號括起來,否則也會拋出異常。

復雜JSon數據的操作方法。

1 var str='{ "studies":[{ "UserName": "李彥宏", "Sex": "男", "Age":25, "XueHao":"00001", "BanJi":"一班" },{ "UserName": "馬雲", "Sex": "男", "Age":31, "XueHao":"00002", "BanJi":"二班" }]}'
2 JSON.parse(str.studies[0].userName);

 

 

 服務端向客戶端返回了一串JSON格式的數據。在有些時候,因為某些特殊的原因我們不知道原始的key值,因此我們此時無法象正常一樣通過key值,來獲取value值。這時我們必須循環讀取JSON對象數據。廢話少說,來看例子。 

  服務端后台返回到客戶端的JSON格式字符串:var str = '[{"uname":"王強","day":"2010/06/17"},{"uname":"王海雲","day":"2010/06/11"}]';  

  我們把它轉換成JSON對象:var jsonList=eval("("+str+")");這時候如果以用斷點跟蹤查看這個jsonList對象,其實你會發現,他的長度為2,即jsonList.length=2。它的每一項都是一個單獨的JSON對象。請看下圖:  

 

  這時候假設我們不知道"uname"和"day"這兩個key值,我們開始對jsonList執行循環操作。 

1   for(var i=0;i<jsonList.length;i++){
2 
3      for(var key in jsonList[i]){
4 
5            alert("key:"+key+",value:"+jsonList[i][key]); 
6 
7         } 
8 
9    }

  這樣我們就可以輕松的獲取我所需要的key值和value值了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM