1、JSONObject和JSONArray的數據表示形式json
JSONObject的數據是用 { } 來表示的,數組
例如: { "id" : "123", "courseID" : "huangt-test", "title" : "提交做業", "content" : null } 函數
而JSONArray,顧名思義是由JSONObject構成的數組,用 [ { } , { } , ...... , { } ] 來表示spa
例如: [ { "id" : "123", "courseID" : "huangt-test", "title" : "提交做業" } , { "content" : null, "beginTime" : 1398873600000 "endTime" } ] ; code
表示了包含2個JSONObject的JSONArray。對象
能夠看到一個很明顯的區別,一個最外面用的是 { } ,一個最外面用的是 [ ] ;blog
JavaScript解析JSONip
**
解析json數組即對JSONArray的遍歷字符串
1、對於標準的json數組如:it
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; }
2、對於不標準的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對象來進行返回解析