如果我有一个 json 对象,并且我真的不知道它有多复杂,我想按照以下示例重新构造它,我该如何用 Javascript 编写它?
假设我有一个 json 对象,如下所示:
{
"a": 1,
"b": {
"c": 2,
"d": {
"e": 3
}
}
"f": {
"g": 4
}
}
现在,我希望得到以下预期结果:
{
"a": 1,
"b.c": 2,
"b.d.e": 3,
"f.g": 4
}
最佳答案
如果您可以使用它们,有一个库可以完成这项工作:https://www.npmjs.com/package/flat
或者类似的东西:
let original = {
"a": 1,
"b": {
"c": 2,
"d": {
"e": 3
}
},
"f": {
"g": 4
}
}
function flattenObj(obj, parent = '', res = {}){
for(let key in obj){
let propName = parent ? parent + '.' + key : key;
if(typeof obj[key] == 'object'){
flattenObj(obj[key], propName, res);
} else {
res[propName] = obj[key];
}
}
return res;
}
let response = flattenObj(original)
console.log(response)
关于javascript - 如何在 Javascript 中从 JSON 检索叶子子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60486087/