繁体   English   中英

循环浏览多维JSON数组并获取javascript中的值

[英]Loop through multidimensional JSON Array and get values in javascript

我创建了一个具有两个数组的JSON对象。 我在网上搜索了有关如何提取数据的信息,但是我尝试过的所有代码都返回了“ undefined”或[object object]。

能否请您看一下我的例子,并告诉我我将如何做?

<html>
 <head>
     <title> New Document </title>
  <meta name="Generator" content="NPP-Plugin">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>
 <body>
 <div id="file"></div>
 <div id="applicID"></div>
  <script type="text/javascript">
var IETMObj = {
    "allItems": [{ 
         "sFile": "Test.html",
         "Applicability": [{   // second dimension
                            "ApplicID": "subj_1",
                            "ApplicDisp": "Driving",
                            "Condition": "In rain"
                    },{
                            "ApplicID": "subj_2",
                            "ApplicDisp": "Running",
                            "Condition": "Uphill"
                    }]
            }]
  };

  for (var i = 0; i < IETMObj.length; i++){
      document.write("<br><br>array index: " + i);
  var obj = IETMObj[i];
  for (var key in obj){
    var value = obj[key];
    document.write("<br> - " + key + ": " + value);
  }
}


  </script>
 </body>
</html>

ITEMObj是一个对象,而不是数组。 您要遍历的数组是IETMObj.allItems[0].Applicability

var applicability = IETMObj.allItems[0].Applicability;
for (var i = 0; i < applicability.length; i++) {
    document.write("<br><br>array index: " + i);
    var obj = applicability[i];
    for (var key in obj){
        var value = obj[key];
        document.write("<br> - " + key + ": " + value);
    }
}

如果allItems可以有多个项目, allItems应该为它们提供一个外部循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM