Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取节点js中json变量的嵌套属性_Javascript_Node.js_Json - Fatal编程技术网

Javascript 获取节点js中json变量的嵌套属性

Javascript 获取节点js中json变量的嵌套属性,javascript,node.js,json,Javascript,Node.js,Json,如何在NodeJS中获取json变量的所有属性,并将它们全部放在txt文件中? 如果JSON的结构如下所示,我只能创建属性的txt文件 // JSON Variable const jsonValue1 = { "prop1": "val1", "prop2": "val2", "prop3": "val3", } const fs = require('fs') const keys = Object.keys(jsonValue1) const fileName =

如何在NodeJS中获取json变量的所有属性,并将它们全部放在txt文件中? 如果JSON的结构如下所示,我只能创建属性的txt文件

// JSON Variable
const jsonValue1 = {
    "prop1": "val1",
    "prop2": "val2",
    "prop3": "val3",
}

const fs = require('fs')
const keys = Object.keys(jsonValue1)
const fileName = './keys_id.txt'
fs.writeFileSync(fileName, keys.join('\n))
//在keys_id.txt文件中输出

prop1
prop2
prop3
但是,如果我的JSON的结构是这样的呢:

const jsonValue2 = {
    "prop1": "val1",
    "prop2": {
        "prop2_1": "val2_1"
        "prop2_2": "val2_2"
    }
    "prop3": "val3"
}
prop1
prop2.prop2_1
prop2.prop2_2
prop3
如何获取嵌套属性?实际上,我在文件中的预期输出如下:

const jsonValue2 = {
    "prop1": "val1",
    "prop2": {
        "prop2_1": "val2_1"
        "prop2_2": "val2_2"
    }
    "prop3": "val3"
}
prop1
prop2.prop2_1
prop2.prop2_2
prop3

是否可能?

对输入对象的
条目使用递归
reduce

const inputObj={
“prop1”:“val1”,
“建议2”:{
“prop2_1”:“val2_1”,
“prop2_2”:“val2_2”
},
“prop3”:“val3”
};
const getKeys=(对象、道具=[],累计=[])=>(
Object.entries(obj).reduce((a,[key,val])=>{
const thispropar=[…道具,键];
if(typeof val=='object'){
a、 按下(…获取键(val、thisPropArr))
}否则{
a、 推送(此路径连接('.');
}
返回a;
},累计)
);
log(getKeys(inputObj))