一、對於標准的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; }
注意:在前端解析后端傳過來的字符串有兩種方法:
1. eval()
2.JSON.parse(), jquery的底層 $.parseJSON()用的還是JSON.parse();
前端拼接json字符串:
<script> var params = []; for(var i = 0; i < 3; i++){ var param = []; param.push("one"); param.push("two"); param.push("three"); params.push({"group":i,"param":param}); } var json = JSON.stringify(params); alert(json); var jsonElem = document.getElementById("json"); jsonElem.innerHTML = json; </script> <!-- 組成的json串: [{"group":0,"param":["one","two","three"]},{"group":1,"param":["one","two","three"]},{"group":2,"param":["one","two","three"]}] -->