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

回到顶部