Javascript 从S3结果创建Treeview
我正试图从一系列AWS S3结果创建一个树状视图。我需要以特定的Key:Value格式创建一个数组,以便我们可以在网站中动态使用它们。我看过很多不同的解决方案,但找不到解决这个问题的方案。使用此应用程序的节点,因此将使用Javascript 这必须是动态的,因为铲斗的深度变化很大 源阵列:Javascript 从S3结果创建Treeview,javascript,amazon-s3,dynamic-arrays,Javascript,Amazon S3,Dynamic Arrays,我正试图从一系列AWS S3结果创建一个树状视图。我需要以特定的Key:Value格式创建一个数组,以便我们可以在网站中动态使用它们。我看过很多不同的解决方案,但找不到解决这个问题的方案。使用此应用程序的节点,因此将使用Javascript 这必须是动态的,因为铲斗的深度变化很大 源阵列: [{ Key: "Test Folder/", }, { Key: "Test Folder/2nd level folder/", }, { Key: "Test Folder/
[{
Key: "Test Folder/",
},
{
Key: "Test Folder/2nd level folder/",
},
{
Key: "Test Folder/2nd level folder/West-Rockies Flow Summary 191204.pdf",
},
{
Key: "Test Folder/2nd level folder/West-Rockies Flow Summary 191205.pdf",
},
{
Key: "Test Folder/2nd level folder/sub-sub-folder/",
},
{
Key: "Test Folder/2nd level folder/sub-sub-folder/West-Rockies Flow Summary 191120.pdf",
},
{
Key: "Test Folder/2nd level folder/sub-sub-folder/West-Rockies Flow Summary 191121.pdf",
},
{
Key: "Test Folder/West-Rockies Flow Summary 191211.pdf",
},
{
Key: "Test Folder/West-Rockies Flow Summary 191212.pdf",
},
{
Key: "main/",
},
{
Key: "main/test.txt",
}
[{
name: "Test Folder",
folders : [{
name : "2nd level folder",
folders : [{
name : "sub-sub-folder",
folders : [],
files : [{
Key : "Test Folder/2nd level folder/sub-sub-folder/West-Rockies Flow Summary 191120.pdf"
},{
Key : "Test Folder/2nd level folder/sub-sub-folder/West-Rockies Flow Summary 191121.pdf"
}]
}],
files : [{
Key : "Test Folder/2nd level folder/West-Rockies Flow Summary 191204.pdf"
}, {
Key : "Test Folder/2nd level folder/West-Rockies Flow Summary 191205.pdf"
}]
}],
files : [{
Key : "Test Folder/West-Rockies Flow Summary 191211.pdf"
}, {
Key : "Test Folder/West-Rockies Flow Summary 191212.pdf"
}]
},
{
name : "main",
folders : [],
files : [{
Key : "main/test.txt"
}]
}];
]
所需输出:
[{
Key: "Test Folder/",
},
{
Key: "Test Folder/2nd level folder/",
},
{
Key: "Test Folder/2nd level folder/West-Rockies Flow Summary 191204.pdf",
},
{
Key: "Test Folder/2nd level folder/West-Rockies Flow Summary 191205.pdf",
},
{
Key: "Test Folder/2nd level folder/sub-sub-folder/",
},
{
Key: "Test Folder/2nd level folder/sub-sub-folder/West-Rockies Flow Summary 191120.pdf",
},
{
Key: "Test Folder/2nd level folder/sub-sub-folder/West-Rockies Flow Summary 191121.pdf",
},
{
Key: "Test Folder/West-Rockies Flow Summary 191211.pdf",
},
{
Key: "Test Folder/West-Rockies Flow Summary 191212.pdf",
},
{
Key: "main/",
},
{
Key: "main/test.txt",
}
[{
name: "Test Folder",
folders : [{
name : "2nd level folder",
folders : [{
name : "sub-sub-folder",
folders : [],
files : [{
Key : "Test Folder/2nd level folder/sub-sub-folder/West-Rockies Flow Summary 191120.pdf"
},{
Key : "Test Folder/2nd level folder/sub-sub-folder/West-Rockies Flow Summary 191121.pdf"
}]
}],
files : [{
Key : "Test Folder/2nd level folder/West-Rockies Flow Summary 191204.pdf"
}, {
Key : "Test Folder/2nd level folder/West-Rockies Flow Summary 191205.pdf"
}]
}],
files : [{
Key : "Test Folder/West-Rockies Flow Summary 191211.pdf"
}, {
Key : "Test Folder/West-Rockies Flow Summary 191212.pdf"
}]
},
{
name : "main",
folders : [],
files : [{
Key : "main/test.txt"
}]
}];
您可能需要编写自己的解析器。提及您使用的语言(如果有的话)可能会有所帮助?感谢您的评论,我们使用的是Node,因此这是基于Javascript的。请参阅您已经掌握的,您可能会发现对提供树数据结构有用的内容。从这里,您可以解析包含路径的每个字符串,将其拆分为“/”个字符,然后使用块导航到树中的特定点,并将文件名插入树中。也可能有用: