一、对于标准的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"]}]
-->