【发布时间】:2017-08-07 05:07:09
【问题描述】:
我有一个具有三层嵌套的 json 对象,我必须动态迭代它
这是我的代码
var responseObj ={
db_config:{
db_user: 'das1234',
},
env_con:{
db_con:'ds67'
},
db_password: 'ds345ty76',
db_host: 'wdsa12'
}
function decrypt(responseObj,key){
var list = []
//get the keys from the responseObj
Object.keys(responseObj).forEach(function(key){
//Push the keys into a list
list.push(key);
})
console.log(list)
try{
for(var i =0;i<list.length;i++){
//Decrypt the values of the key
var decipher = crypto.createDecipher('aes256', key);
//Assign The decrypted value to the keys
responseObj[list[i]] = decipher.update(responseObj[list[i]], 'hex', 'utf8') + decipher.final('utf8')
}
return responseObj;
}catch(err){
console.log(err);
}
}
var res = decrypt(responseObj,key)
console.log(res)
尝试了很多方法,我只是混淆了如何在不使用静态键的情况下动态迭代获取键和值。 有任何想法请帮助找出来。
【问题讨论】:
-
“我如何在 nodejs 中遍历 Json 的嵌套属性?” 你没有。 JSON 是一种用于数据交换的文本表示法。(stackoverflow.com/a/2904181/157247) 如果您处理的是 JavaScript 源代码,而不是处理 字符串,那么您就不是在处理与 JSON。 [(More.)] 你可以遍历对象树的嵌套属性,当你 parse 它时,你将不再处理 JSON。但是问题中根本没有JSON,所以不需要解析。
-
您已经获得了密钥并使用它们来查找对象的属性。你被困在哪里了?您似乎具备上述基础知识。
-
Crowder 尝试以这种形式获取 json 的解决方案时你是对的,我可以在这里是 Json let responseObj = { db_user: 'das1234', db_con:'ds67', db_password: 'ds345ty76' , db_host: 'wdsa12', } 但是如果 Json 是嵌套的,我该如何进一步处理?
-
再说一遍:这不是 JSON。这只是一个 JavaScript 对象初始化器。
标签: javascript json node.js loops iteration