【问题标题】:Tab separeted tree to JSON制表符分隔树到 JSON
【发布时间】:2020-10-29 15:08:00
【问题描述】:

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

a
    a1
        a3
    a2

到这样的 JSON 格式树中:

[
{
    "name":"a",
    "children":[
        {
            "name":"a1",
            "children":[
                {
                    "name":"a3",
                    "children":[]
                }
            ]
        },
            {
                "name":"a2"
                "children":[]
            }
    ]
}
]

在javascript中?我想你明白了,我想要一个标签\t 分隔的树结构转换为 JSON 树结构。谢谢!

【问题讨论】:

    标签: javascript json tree


    【解决方案1】:

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

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

    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; }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-09
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多