zoukankan      html  css  js  c++  java
  • 前端学习之——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"]}]  
    --> 
  • 相关阅读:
    相对路径和绝对路径的问题"/"带不带斜杠
    El表达式获取项目名称
    struts 中的创建Action的三种方法
    maven中的profile文件的解析
    Maven中模块的聚合以及对jar包的继承
    Maven中解决依赖冲突的问题
    maven中的传递依赖和传递依赖的解除
    String类为什么是final的
    jdbc 报错解决办法
    org.hibernate.PropertyValueException: not-null property references a null or transient value:
  • 原文地址:https://www.cnblogs.com/coder-wf/p/12185080.html
Copyright © 2011-2022 走看看