【发布时间】:2017-05-05 20:19:06
【问题描述】:
我创建了一个 JSON 对象,其中包含两个数组。我在网上搜索了如何提取数据,但我尝试过的所有代码都返回“未定义”或 [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>
【问题讨论】:
-
IETMObj是一个对象,而不是一个数组。 -
要处理的数组是
IETMObj.allItems[0].Applicability -
@Barmar 恐怕我无法让您对代码进行更正。 js.do/MHammett/multidimensionalobj 我查看了其他问题,并尝试了他们的解决方案。他们在我的情况下不起作用。这就是我寻求帮助的原因。
-
尝试
var applicability = IETMObj.allItems[0].Applicability;,然后循环遍历applicability,就像您在代码中循环遍历IETMObj一样。
标签: javascript arrays json multidimensional-array