前端學習之——js解析json數組


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM