Javascript 获取名称未知的嵌套JSON的值
我有一个嵌套很深的JSON对象,名称为任意值。我不知道未来的价值。下面是一个简化的例子。我似乎想不出一个方法来获得我需要的价值Javascript 获取名称未知的嵌套JSON的值,javascript,json,destructuring,Javascript,Json,Destructuring,我有一个嵌套很深的JSON对象,名称为任意值。我不知道未来的价值。下面是一个简化的例子。我似乎想不出一个方法来获得我需要的价值 { "bigJSON":{ "5":{ "3":[ { "week":{ "name":"John", "length":25 } },
{
"bigJSON":{
"5":{
"3":[
{
"week":{
"name":"John",
"length":25
}
},
{
"week":{
"name":"John1",
"length":95
}
}
]
},
"6":{
"2":[
{
"week":{
"name":"John3",
"length":45
}
},
{
"week":{
"name":"Merlin",
"length":25
}
}
]
}
}
}
我需要从
bigJSON['5']['3'],bigJSON['6']['2']
等获取数组,但我无法提前知道5,3,6,2
等的值。将提供帮助。您可以使用for…in
循环来迭代对象的属性。根据您的数据结构,您似乎需要两个级别的迭代
var data={“bigJSON”:{“5”:{“3”:[{“周”:{“名”:“约翰”,“长度”:25}},{“周”:{“名”:“约翰”,“长度”:95}}}},},“6”:{“2”:[{“周”:{“名”:“约翰”,“长度”:45},{“周”:{“名”:“梅林”,“长度”:25}}}}}
var getWeeks=函数(数据){
var weeks=[]
for(data.bigJSON中的变量level1){
for(data.bigJSON[level1]中的变量level2){
weeks=weeks.concat(data.bigJSON[level1][level2])
}
}
返回周;
}
console.log(getWeeks(data))
使用Object.keys
或iterate调用您想要的脚本时您知道什么?@mplungjan我只知道json的名称,它包含带有week对象的数组我不明白您知道什么和不知道什么。输入是什么,预期输出是什么?getMyData(?,?)看起来如何这工作得很好,谢谢@jstnpwl