json对象的完整路径
我正在尝试展平一个对象,其中键将是叶节点的完整路径。我可以递归地确定哪些是叶节点,但是在尝试构建整个路径时遇到了困难。
{ 一:1,
二:{
三:3
},
四:{
5:5
六:{
七:7
},
八:8
},
9:9
}
{ 一:1,
'two.three':3,
“四五”:5
“四六七”:7
'四八':8,
9:9
}
回答:
您可以使用递归方法并收集对象的键。该建议还寻找数组。
function getFlatObject(object) { function iter(o, p) {
if (o && typeof o === 'object') {
Object.keys(o).forEach(function (k) {
iter(o[k], p.concat(k));
});
return;
}
path[p.join('.')] = o;
}
var path = {};
iter(object, []);
return path;
}
var obj = { one: 1, two: { three: 3 }, four: { five: 5, six: { seven: 7 }, eight: 8 }, nine: 9 },
path = getFlatObject(obj);
console.log(path);
以上是 json对象的完整路径 的全部内容, 来源链接: utcz.com/qa/427241.html