Javascript JSON嵌套子元素引用
考虑到我不知道子元素有多深,如何使用javascript访问JSON格式的嵌套子对象 我试过:Javascript JSON嵌套子元素引用,javascript,object,Javascript,Object,考虑到我不知道子元素有多深,如何使用javascript访问JSON格式的嵌套子对象 我试过: var body = json..simplyChild; 但对我不起作用 var json = { "root": { "firstChild": { "secondChild": { "simplyChild": "kek" } } } } 理想情况下,您只需正常获
var body = json..simplyChild;
但对我不起作用
var json = {
"root": {
"firstChild": {
"secondChild": {
"simplyChild": "kek"
}
}
}
}
理想情况下,您只需正常获取元素。但这可以做你想做的
var json =
{
"root": {
"firstChild": {
"secondChild": {
"simplyChild": "kek"
}
}
}
}
function getNestedElement(obj, k){
let keys = Object.keys(obj);
for(let i = 0; i < keys.length; i++){
let key = keys[i];
if(key == k){
return obj[key];
}else{
return getNestedElement(obj[key], k);
}
}
}
var json=
{
“根”:{
“第一个孩子”:{
“第二个孩子”:{
“simplyChild”:“kek”
}
}
}
}
函数getNestedElement(obj,k){
设keys=Object.keys(obj);
for(设i=0;i
使用递归函数,该函数根据值是否为对象来调用自身
以下是两个使用示例:
var json={
“根”:{
“第一个孩子”:{
“第二个孩子”:{
“simplyChild”:“kek”
},
“小”:“我很小”
}
}
}
功能查找(键,obj){
for(让k在obj中){
如果(k==键)返回obj[k]
如果(对象的类型[k]='object'){
设r=Find(key,obj[k])
if(r)返回r
}
}
}
log(Find('simplyChild',json))
log(Find('secondChild',json))
log(Find('little',json))
console.log(Find('unSetKey',json))
那不是->你是在问如何通过函数在嵌套的对象中找到特定键的给定值?你会想使用一个递归函数,该函数将循环所有键。如果该值是一个对象,则调用该对象上的方法。如果它等于该键,则返回该键的值。如果OP想要第二个子项
,怎么办?由于条件的顺序,它不会与您的代码一起工作。如果
条件修复了它,它现在应该可以工作了