如何像这样转换以制表符分隔的文本树:
a
a1
a3
a2放入JSON格式树中,如下所示:
[
{
"name":"a",
"children":[
{
"name":"a1",
"children":[
{
"name":"a3",
"children":[]
}
]
},
{
"name":"a2"
"children":[]
}
]
}
]在javascript中?我想你已经明白了,我希望将一个标签\t分离的树形结构转换成JSON树形结构。谢谢!
发布于 2020-10-29 23:20:31
您可以将数据拆分为行和单独的选项卡,以获取级别和名称。
要创建一棵树,请获取一个已知level数组,并将每个新节点分配给该级别的数组和下一个级别。
var data = 'a\n\ta1\n\t\ta3\n\ta2',
tree = [];
levels = [tree];
data
.split('\n')
.forEach(s => {
const [{ length: level }, name] = s.split(/([^\t]+)/);
levels[level].push({ name, children: levels[level + 1] = [] });
});
console.log(tree);.as-console-wrapper { max-height: 100% !important; top: 0; }
https://stackoverflow.com/questions/64593884
复制相似问题