Javascript 如何将字符串数组转换为嵌套的JSON对象?

Javascript 如何将字符串数组转换为嵌套的JSON对象?,javascript,json,Javascript,Json,我想在我的前端显示blob存储中存在的所有文件和文件夹。为此,我使用素数树组件。但是,我无法将我的响应转换为Priming要求的格式 以下是实际答复: "filenames": [ "/30", "/mtcagent.log", "/spe9_xf.rst/bin/sbin/spe9_rgg-prop_ycoer.fbin", "/spe9_xf.rst/bin/sbin/spe.fbin" ]

我想在我的前端显示blob存储中存在的所有文件和文件夹。为此,我使用素数树组件。但是,我无法将我的响应转换为Priming要求的格式

以下是实际答复:

"filenames": [
"/30",
"/mtcagent.log",
"/spe9_xf.rst/bin/sbin/spe9_rgg-prop_ycoer.fbin",
"/spe9_xf.rst/bin/sbin/spe.fbin"
]
预期:

[
{"label": "30",
"Icon": "pi pi-folder"
},
{
"label": "mtcagent.log",
"Icon": "pi pi-folder"
},
{
"label": "spe9_xf.rst",
"Icon": "pi pi-folder",
"children": [
{
"label": "bin",
"Icon": "pi pi-folder",
"children": [
{
"label": "sbin",
"Icon": "pi pi-folder",
"children": [
{
"label": "spe9_rgg-prop_ycoer.fbin",
"Icon": "pi pi-file",
},
{
"label": "spe.fbin",
"Icon": "pi pi-file",
}
]
}
]
}
]
}
]
这是我目前的代码:

var-arr=[
“abc.rft”,
“ccc.rft”,
“spe9_sgrid_long_rstcreation.rst/bin/sbin/spe9_batch-grid.dat.bin文件”
];
var arrOfObjs=新数组();
for(设i=0;i{
if(例如label.indexOf('/')=-1){
}否则{
var carray=新数组();
var x=e.label.split('/');
e、 label=x[0];
obj.label=e.label;
卡雷推(obj);
控制台日志('carray',carray)
e['children']=JSON.stringify(carray);
console.log('sss',arrOfObjs)
}

});您可以使用.map高阶函数来执行此操作。

或者可以使用:


parse(JSON.stringify(carray))

你能分享一下你的努力吗?你知道
“/30”
是文件夹而不是文件吗?下面是我的努力,虽然它无法在每个字符串中形成嵌套对象,但始终是姓氏为文件名。这是一个不错的选择,但仍然不能解决问题。。。