如何在javascript和jquery中迭代json对象数组?
我正在学习javascript和json对象和数组。我的任务是迭代以下数组:如何在javascript和jquery中迭代json对象数组?,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我正在学习javascript和json对象和数组。我的任务是迭代以下数组: {"6784": {"OD": [ { "od_id":"587641", "cl_type":"scl", "cl_eye":"OD" } ], } {"OS": [ {
{"6784":
{"OD":
[
{
"od_id":"587641",
"cl_type":"scl",
"cl_eye":"OD"
}
],
}
{"OS":
[
{
"od_id":"587641",
"cl_type":"scl",
"cl_eye":"OD"
}
],
}
}
我试着分别使用SimpleFor循环和jquery进行迭代,但都不起作用。条件是我们不知道任何键名。如果不知道键名,可以使用Object.keys(json_obj)
如果不知道密钥名称,可以使用Object.keys(json_obj) 您可以使用:
Object.keys(Obj)
标识对象上的属性,然后可以对其进行迭代以查找每个属性的值。您可以使用:
Object.keys(Obj)
标识对象上的属性,然后可以对其进行迭代以查找每个属性的值。
{}
表示对象,而不是数组,您可以通过多种方式对其属性进行迭代:
您可能还想看看:
{}
表示对象,而不是数组,您可以通过多种方式迭代其属性:
您可能还想看看:
您的JSON不是有效的JSON 有效的JSON应该如下所示: 工作演示
var jsonObj={
"6784": {
“OD”:[{
“od_id”:“587640”,
“cl_类型”:“scl”,
“cl_眼”:“OD”
}],
“操作系统”:[{
“od_id”:“587641”,
“cl_类型”:“scl”,
“cl_眼”:“OD”
}]
}
};
var keys=Object.keys(jsonObj);
for(键中的变量i){
var innerKeys=Object.keys(jsonObj[keys[i]]);
for(innerKeys中的变量j){
log(jsonObj[keys[i]][innerKeys[j]][0].od_id);
}
}
您的JSON不是有效的JSON
有效的JSON应该如下所示:
工作演示
var jsonObj={
"6784": {
“OD”:[{
“od_id”:“587640”,
“cl_类型”:“scl”,
“cl_眼”:“OD”
}],
“操作系统”:[{
“od_id”:“587641”,
“cl_类型”:“scl”,
“cl_眼”:“OD”
}]
}
};
var keys=Object.keys(jsonObj);
for(键中的变量i){
var innerKeys=Object.keys(jsonObj[keys[i]]);
for(innerKeys中的变量j){
log(jsonObj[keys[i]][innerKeys[j]][0].od_id);
}
}
**index.html**
文件
**js/main.js**
$(文档).ready(函数(){
console.log(数据)
函数解析(数据){
对于(数据['6784']中的var项){
对于(var i=0;i”+
“od\U id:”+od\U id+“”+
“cl_类型:”+cl_类型+”'+
“cl_eye:”+cl_eye+“”+
“
”
);
}
}
}
$.ajax({
url:'data.json',
数据类型:“json”,
成功:解析,
});
});
**data.json**
{"6784":
{“OD”:
[
{
“od_id”:“587641”,
“cl_类型”:“scl”,
“cl_眼”:“OD”
}
],
“操作系统”:
[
{
“od_id”:“58764-2”,
“cl_类型”:“scl-2”,
“cl_眼”:“OS”
}
]
}
}
**index.html**
文件
**js/main.js**
$(文档).ready(函数(){
console.log(数据)
函数解析(数据){
对于(数据['6784']中的var项){
对于(var i=0;i”+
“od\U id:”+od\U id+“”+
“cl_类型:”+cl_类型+”'+
“cl_eye:”+cl_eye+“”+
“
”
);
}
}
}
$.ajax({
url:'data.json',
数据类型:“json”,
成功:解析,
});
});
**data.json**
{"6784":
{“OD”:
[
{
“od_id”:“587641”,
“cl_类型”:“scl”,
“cl_眼”:“OD”
}
],
“操作系统”:
[
{
“od_id”:“58764-2”,
“cl_类型”:“scl-2”,
“cl_眼”:“OS”
}
]
}
}
look in Show your effect.try$.each(yourarray,function(index,item){}yourObj[“6784”][“OD”].forEach(o=>…)
your object无效look in in Show your effect.try$.each(yourarray,function(index,item){})yourObj[“6784”[“OD”].forEach(o=>…)
你的对象无效。你应该比较你的json和我的json数据,然后你可以使用我的所有代码。你应该比较你的json和我的json数据,然后你可以使用我的所有代码。
**index.html**
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="content"></div>
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script src="js/main.js"></script>
</body>
</html>
**js/main.js**
$(document).ready(function(){
console.log(data)
function parse(data){
for (var item in data['6784']) {
for (var i = 0; i < data['6784'][item].length; i++) {
var od_id = data['6784'][item][i].od_id;
var cl_type = data['6784'][item][i].cl_type;
var cl_eye = data['6784'][item][i].cl_eye;
console.log(item + ', ' + od_id + ', ' + cl_type + ', ' + cl_eye);
$("#content").append(
'<div class="row">'+
'<p><span class="item">item: </span> ' + item + '</p>'+
'<p><span class="item">od_id: </span> ' + od_id + '</p>'+
'<p><span class="item">cl_type: </span> ' + cl_type + '</p>'+
'<p><span class="item">cl_eye: </span> ' + cl_eye + '</p>'+
'</div> <br>'
);
}
}
}
$.ajax({
url: 'data.json',
dataType: "json",
success: parse,
});
});
**data.json**
{"6784":
{"OD":
[
{
"od_id":"587641",
"cl_type":"scl",
"cl_eye":"OD"
}
],
"OS":
[
{
"od_id":"58764-2",
"cl_type":"scl-2",
"cl_eye":"OS"
}
]
}
}