将JSON对象排序到层次结构中

 

问题描述:

我需要将一个JSON数组整理到一个层次结构中,这是我的JSON文件,它从未排序,但遵循以下结构:

{
  "name":"Folder 2",
  "id":"zRDg",
  "parent":"OY00",
  "type":"folder"
},
{
  "name":"Folder 1",
  "id":"OY00",
  "type":"folder"
},
{
  "name":"Folder 3",
  "id":"ZDE1",
  "type":"folder"
},
{
  "name":"DX00025.jpg",
  "id":"9Xdd",
  "parent":"OY00",
  "type":"jpeg"
}

进入此JSON文件,其结构如下:

{
  "name":"Folder 1",
  "id":"OY00",
  "type":"folder",
  "children": [{
    "name":"Folder 2",
    "id":"zRDg",
    "type":"folder"
    },
    {
    "name":"DX00025.jpg",
    "id":"9Xdd",
    "type":"jpeg"
  }]
},
{
    "name":"Folder 3",
    "id":"ZDE1",
    "type":"folder"
}

我真的无法弄清楚,因为我是python的新手,我的开始(错误):

for index,item in result:
    if item['parent']:
        for item2 in result:
            if item2['id'] == item['parent']:
                item['children'] = item2
                brake

没关系,但是问题是它不正确 python ,folder1 / folder2 / folder3 /对此不起作用,我需要一个 递归函数
。我还应该包括此结构更改,它可以是带有文件夹的文件夹和带有文件夹/文件夹的文件的任何组合。


我必须打开系统文件并从中读取。该文件通常只能由root用户(超级用户)读取。我有一种向用户询问超级用户密码的方法。我想使用此凭据来打开文件并从中读取文件,而无需让我的整个程序作为超级用户进程运行。有没 ...