jsonArray與 jsonObject區別與js取值


一、JSONObject和JSONArray的數據表示形式

JSONObject的數據是用 {  } 來表示的,

        例如:   { "id" : "123", "courseID" : "huangt-test", "title" : "提交作業", "content" : null  }  

而JSONArray,顧名思義是由JSONObject構成的數組,用  [ { } , { } , ......  , { } ]  來表示

       例如:   [ {  "id" : "123", "courseID" : "huangt-test", "title" : "提交作業" }  ,  {  "content" : null, "beginTime" : 1398873600000  "endTime" } ] ; 

        表示了包含2個JSONObject的JSONArray。

可以看到一個很明顯的區別,一個最外面用的是 {  }  ,一個最外面用的是 [  ]  ;

 

JavaScript解析JSON

**
解析json數組即對JSONArray的遍歷

一、對於標准的json數組如:

var result=[{"flag":1,"macId":"2","mbId":0,"userName":"XXX"},{"flag":1,"macId":"1","mbId":1,"userName":"YYY"}];
 

進行遍歷的時候,可以直接通過for循環遍歷這個數組,有兩種方法

1. 
for (var i = 0; i < result.length; i++) { //result[i]表示獲得第i個json對象即JSONObject
        //result[i]通過.字段名稱即可獲得指定字段的值
 result[i].userName; }

 

2.
for(var i in result){ //表示遍歷數組,而i表示的是數組的下標值,
        //result[i]表示獲得第i個json對象即JSONObject
        //result[i]通過.字段名稱即可獲得指定字段的值
 result[i].userName; }

 

二、對於不標准的json數組如:

var result={"datas":[{"flag":1,"macId":"2","mbId":0,"userName":"XXX"},{"flag":1,"macId":"1","mbId":1,"userName":"YYY"}]};

 

進行遍歷之前得先解析出標准的json數組格式即[{},{}]

var data= result.datas;
1.
 for (var i = 0; i < data.length; i++) { //data[i]表示獲得第i個json對象即JSONObject
        //data[i]通過.字段名稱即可獲得指定字段的值
 data[i].userName; }

 

2.
 for(var i in data){ //表示遍歷數組,而i表示的是數組的下標值,
        //data[i]表示獲得第i個json對象即JSONObject
        //data[i]通過.字段名稱即可獲得指定字段的值
 data[i].userName; }

**

注意點:eval()方法的作用

**
在JS中將JSON的字符串解析成JSON數據格式,一般有兩種方式:
1. 一種為使用eval()函數。
2. 使用Function對象來進行返回解析


免責聲明!

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



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