Nodejs,如何获取嵌套的json对象的值,中间键是未知的
我有以下嵌套的configuration对象,我想获得key1的值,这意味着我想返回“value1”,key1是静态的,但randomGeneratedNumber和randomGeneratedName是dynamic的从数据库。
configuration:{ randomGeneratedNumber: { randomGeneratedName: { key1: value1, key2: value2 } } }
如果你知道每个级别都有(至less)一个键,你可以用辅助函数和组合来完成:
var obj = { configuration: { randomGeneratedNumber: { randomGeneratedName: { key1: 'value1', key2: 'value2' } } } }; function firstValue(a) { return a[Object.keys(a)[0]]; } console.log(firstValue(firstValue(obj.configuration)).key1);
dynamic的,你可以做到这一点..我希望这可以帮助或让你头一个问题的方式。 🙂
var config = {configuration:{ randomGeneratedNumber: { randomGeneratedName: { key1: "value1", key2: "value2" } } }}; let configKeys = Object.keys(config.configuration); configKeys.forEach((rand)=>{ console.log(rand); var itemKeys = Object.keys(config.configuration[rand]); console.log(itemKeys); for(var i=0;i<itemKeys.length;i++){ let randName = itemKeys[i]; console.log(config.configuration[rand][randName]['key1']); console.log(config.configuration[rand][randName]['key2']); } });
如果我明白这个问题,我只会做这样的事情:
let value; for (let nestedOuter of Object.values(something.configuration)) for (let nestedInner of Object.values((nestedOuter))) value = nestedInner.key1; console.log(value);
如果您需要随机生成的值,则需要执行Object.entries
来取出键和值。