Javascript 如何在jquery中访问关联数组中的数组

Javascript 如何在jquery中访问关联数组中的数组,javascript,html,jquery,css,frontend,Javascript,Html,Jquery,Css,Frontend,我正在以关联数组格式从远程服务器检索JSON数据。关联数组的结构为: data= { "1":[{"project_id":1,"project":"IET1"},{"project_id":2,"project":"IET2"}], "2":[{"project_id":3,"project":&

我正在以关联数组格式从远程服务器检索JSON数据。关联数组的结构为:

data=
{
"1":[{"project_id":1,"project":"IET1"},{"project_id":2,"project":"IET2"}],
"2":[{"project_id":3,"project":"IET3"}],
"3":[{"project_id":4,"project":"IET4"},{"project_id":5,"project":"IET5"}]
}

这正是我从ajax响应中得到的格式。现在,当我尝试使用以下方式遍历它时:

var obj = JSON.parse(data, function (key, value) {
  alert(key + " " + value) // will alert => "project_id 1"
}
我试图使用主索引(“1”、“2”等)进行迭代。 我该怎么做?我搜索了很多,但没有找到任何解决方案。

不要在
JSON.parse()
中使用“reviver”回调函数,该函数用于在解析数据时转换数据

只需解析它。然后,如果需要,您可以检索密钥,或者使用
for in
循环对其进行迭代

let数据=`{
“1”:[{“项目id”:1,“项目”:“IET1”},{“项目id”:2,“项目”:“IET2”}],
“2”:[{“项目id”:3,“项目”:“IET3”}],
“3”:[{“项目id”:4,“项目”:“IET4”},{“项目id”:5,“项目”:“IET5”}]
}`;
const out=JSON.parse(数据);
常量键=对象键(out);
用于(输入输出){
警报(out[key][0]。项目);
console.log(key,out[key]);

}
使用Object.keys可能会对您有所帮助。这是一个嵌套循环。。但有效

let data = `{
    "1":[{"project_id":1,"project":"IET1"},{"project_id":2,"project":"IET2"}],
    "2":[{"project_id":3,"project":"IET3"}],
    "3":[{"project_id":4,"project":"IET4"},{"project_id":5,"project":"IET5"}]
}`;

data = JSON.parse(data)
const keys = Object.keys(data);

keys.forEach(key => data[key].forEach(project => console.log(project.project_id + " - " + project.project)));

有一件事我想问更多,我如何才能在警报中获取项目id、项目等?