一、對於標准的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"]}]
-->
