首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Tab键将分隔树转换为JSON

Tab键将分隔树转换为JSON
EN

Stack Overflow用户
提问于 2020-10-29 23:08:00
回答 1查看 71关注 0票数 2

如何像这样转换以制表符分隔的文本树:

代码语言:javascript
运行
复制
a
    a1
        a3
    a2

放入JSON格式树中,如下所示:

代码语言:javascript
运行
复制
[
{
    "name":"a",
    "children":[
        {
            "name":"a1",
            "children":[
                {
                    "name":"a3",
                    "children":[]
                }
            ]
        },
            {
                "name":"a2"
                "children":[]
            }
    ]
}
]

在javascript中?我想你已经明白了,我希望将一个标签\t分离的树形结构转换成JSON树形结构。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-29 23:20:31

您可以将数据拆分为行和单独的选项卡,以获取级别和名称。

要创建一棵树,请获取一个已知level数组,并将每个新节点分配给该级别的数组和下一个级别。

代码语言:javascript
运行
复制
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);
代码语言:javascript
运行
复制
.as-console-wrapper { max-height: 100% !important; top: 0; }

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64593884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档