Javascript 从内部对象获取值

Javascript 从内部对象获取值,javascript,Javascript,这是我的JSON 如何从所有节点获取'key2'值。在对象中,它仍然有更多的节点 这听起来像是一份适合年轻人的工作 var json=`[{“数据集”:{“项”:[{“key1”:“'key1'”,“key2”:“value1”}, {“key1”:“key1'”,“key2”:“value2”}, {“key1”:“key1'”,“key2”:“value3”}]}, {“数据集”:{“数据集”:{“数据集”:{“项”:[{“key1”:“key1”,“key2”:“value4”}]}]`

这是我的JSON


如何从所有节点获取
'key2'
值。在对象中,它仍然有更多的节点

这听起来像是一份适合年轻人的工作

var json=`[{“数据集”:{“项”:[{“key1”:“'key1'”,“key2”:“value1”},
{“key1”:“key1'”,“key2”:“value2”},
{“key1”:“key1'”,“key2”:“value3”}]},
{“数据集”:{“数据集”:{“数据集”:{“项”:[{“key1”:“key1”,“key2”:“value4”}]}]`
var结果=[]

//遍历所有节点并收集key2值。 parse(JSON,函数(键,值){ 如果(键=='key2'){ 结果。推送(值) } 如果(键=='item'){ console.log(值) } 返回值 })
console.log(result)
这听起来像是

var json=`[{“数据集”:{“项”:[{“key1”:“'key1'”,“key2”:“value1”},
{“key1”:“key1'”,“key2”:“value2”},
{“key1”:“key1'”,“key2”:“value3”}]},
{“数据集”:{“数据集”:{“数据集”:{“项”:[{“key1”:“key1”,“key2”:“value4”}]}]`
var结果=[]

//遍历所有节点并收集key2值。 parse(JSON,函数(键,值){ 如果(键=='key2'){ 结果。推送(值) } 如果(键=='item'){ console.log(值) } 返回值 })
console.log(result)
您还可以使用Object.keys执行此操作,并递归遍历节点

var json=[{“数据集”:{“项”:[{“key1”:“'key1'”,“key2”:“value1”},
{“key1”:“key1'”,“key2”:“value2”},
{“key1”:“key1'”,“key2”:“value3”}]},
{“数据集”:{“数据集”:{“数据集”:{“项”:[{“key1”:“key1”,“key2”:“value4”}]}];
设res=[];
for(json中的prop){
常量递归=(对象,目标键)=>{
Object.keys(obj).forEach(函数(key){
如果(键===目标键){
res.push(obj[键]);
}否则{
如果(对象的类型[键]=“对象”){
递归(obj[key],targetKey);
}
}
});
};
递归(json[prop],'key2');
}

console.log('res',res)
您还可以使用Object.keys执行此操作,并递归遍历节点

var json=[{“数据集”:{“项”:[{“key1”:“'key1'”,“key2”:“value1”},
{“key1”:“key1'”,“key2”:“value2”},
{“key1”:“key1'”,“key2”:“value3”}]},
{“数据集”:{“数据集”:{“数据集”:{“项”:[{“key1”:“key1”,“key2”:“value4”}]}];
设res=[];
for(json中的prop){
常量递归=(对象,目标键)=>{
Object.keys(obj).forEach(函数(key){
如果(键===目标键){
res.push(obj[键]);
}否则{
如果(对象的类型[键]=“对象”){
递归(obj[key],targetKey);
}
}
});
};
递归(json[prop],'key2');
}

log('res',res)
有点宽。尽量限制在一个特定的问题上。除此之外,这是一个关于JSONTraverse all NOTES并收集
key2
值的非常基本的问题。尽量限制在一个特定的问题上。否则,这是一个非常基本的问题,关于JSONTraverse所有节点和收集
key2
值。如何获取键'item'的值,我更改了它,但没有按预期工作如何获取键'item'的值,我更改了它,但没有按预期工作如何获取键'item'的值,我更改为
递归(json[prop],'item')但不作为expected@Durga,这是因为键“item”是一个对象,而不是一个键/值对,问题是在嵌套对象中找到一个键。你能给出一个提示,以及如何获得它吗?你想实现什么?是否要取回项目数组?或者您正在尝试在项数组中查找关键项@DurgaI需要
[{“key1”:“key1”,“key2”:“value4”}]
总数组如果我将key作为
项传递
如何获取键“item”的值,我将其更改为
递归(json[prop],“item”)但不作为expected@Durga,这是因为键“item”是一个对象,而不是一个键/值对,问题是在嵌套对象中找到一个键。你能给出一个提示,以及如何获得它吗?你想实现什么?是否要取回项目数组?或者您正在尝试在项数组中查找关键项@DurgaI需要
[{“key1”:“key1”,“key2”:“value4”}]
如果我将key作为
项传递,则需要总计数组
[{"dataset": {"item": [{"key1": "'key1'","key2": "value1"},
                   {"key1": "'key1'","key2": "value2"},
                   {"key1": "'key1'","key2": "value3"}]}},
 {"dataset": {"dataset": { "dataset": { "item": [{"key1": "key1","key2": "value4"}]}}}}]