Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 生成目录结构的JSON供Webix树小部件使用_Javascript_Python_Json_Webix - Fatal编程技术网

Javascript 生成目录结构的JSON供Webix树小部件使用

Javascript 生成目录结构的JSON供Webix树小部件使用,javascript,python,json,webix,Javascript,Python,Json,Webix,我正在使用Webix和Python/Flask进行一个项目,我正在使用treeview小部件进行渲染。我的问题是正确地构造小部件所需的JSON。我试图生成给定示例的目录结构: 结构: . ├── dirone │   └── file ├── dirthree │   ├── somedir │   │   └── anotherfile │   └── somefile ├── dirtwo └── somefile 在过去的两个小时里,我一直在努力寻找一种可以渲染它的方法。是否有生成结构的方

我正在使用Webix和Python/Flask进行一个项目,我正在使用treeview小部件进行渲染。我的问题是正确地构造小部件所需的JSON。我试图生成给定示例的目录结构:

结构:

. ├── dirone │   └── file ├── dirthree │   ├── somedir │   │   └── anotherfile │   └── somefile ├── dirtwo └── somefile
在过去的两个小时里,我一直在努力寻找一种可以渲染它的方法。是否有生成结构的方法?任何帮助都将不胜感激

这并不是一个真正的解决方案,但Webix小部件可以配置为使用具有不同结构的json,或者在case或tree中,加载数据记录的普通列表,并通过某些参数对数据分组来构建树结构

例如,检查
我想我在没有os.walk()的情况下实现了我所需要的功能,但我仍然通过递归函数(boo)来实现:

我现在唯一真正想要的(虽然还没有真正受益)是让它记录水平/iter深度


谢谢你的建议

酷,那会派上用场的。我试图离开PyQt;仍在尝试体验一些js小部件框架。
[
    {
        "value": "dirone",
        "path": "dirone",
        "type": "folder",
        "children": [
            {
                "value": "file",
                "path": "dirone/file",
                "type": "file"
            }
        ]
    },
    {
        "value": "dirtwo",
        "path": "dirtwo",
        "type": "folder",
        "children": []
    },
    {
        "value": "dirthree",
        "path": "dirthree",
        "type": "folder",
        "children": [
            {
                "value": "somefile",
                "path": "dirthree/somefile",
                "type": "file"
            },
            {
                "value": "somedire",
                "path": "dirone/file",
                "type": "folder",
                "children": [
                    {
                        "value": "anotherfile",
                        "path": "dirthree/somedir/anotherfile",
                        "type": "file"
                    }
                ]
            }
        ]
    },
    {
        "value": "somefile",
        "path": "somefile",
        "type": "file"
    }
]
def pathTree(path,id=0):
    id += 1
        tree = {'value': os.path.basename(path)}
        tree['path'] = path
    tree['id'] = id
        if os.path.isdir(path):
            tree['type'] = "folder"
            tree['data'] = [pathTree(os.path.join(path,x),id) for x in os.listdir(path)]
    else:
            tree['type'] = "file"
    return(tree)