我试图遍历JSON对象以从中获取键的值,并且能够做到这一点。
这是我试过的代码:
var json = {
"SERVICE": {
"Support1": {
"MODULE": {
"Something": {
"SUBMODULE": {
"Abc": {
"PRODUCT": [{
"productName": "something1",
}]
}
}
}
}
},
"Support2": {
"MODULE": {
"Something2": {
"SUBMODULE": {
"Abc2": {
"PRODUCT": [{
"productName": "something10",
}]
}
}
}
}
}
},
}
Object.keys(json.SERVICE).forEach(service => {
var module = Object.keys(json.SERVICE[service].MODULE);
module.forEach(modules => {
var sub_module = Object.keys(json.SERVICE[service].MODULE[modules].SUBMODULE);
sub_module.forEach(products => {
var products = json.SERVICE[service].MODULE[modules].SUBMODULE[products].PRODUCT;
products.forEach(value => {
console.log(value.productName)
})
})
})
})
有没有其他方法来遍历这个动态json,因为多个 forEach 似乎不合适,或者我可以直接获得**“PRODUCT”**键值而不需要遍历?
谢谢你帮忙。
4条答案
按热度按时间vxf3dgd41#
Javascript已经有一个内置的json步行者:
JSON.strinfigy
:esbemjvw2#
只需创建如下所示递归函数即可解决该问题:
gstyhher3#
这里可以使用递归函数。
uelo1irk4#
可以使用递归