Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript和jquery中迭代json对象数组?_Javascript_Jquery_Arrays_Json - Fatal编程技术网

如何在javascript和jquery中迭代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": [ {

我正在学习javascript和json对象和数组。我的任务是迭代以下数组:

{"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"
            }
        ]
    }
}