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