我使用JSTree来显示树结构。现在,在编辑记录时,需要显示选定的父母/孩子。为此,我在json下方,这是json才能在树中显示选定的父/子节点。
varpathArray={
"func_extensions_job": [
{
"CodiacSDK.NewModule.dll;extensionCreatePre;": [
{
"CodiacSDK.NewModule.dll;extensionInquirePost;": [
]
}
]
}
]
};
但是它的静态json和我需要动态json才能像上面那样转换。以下是我通过API响应获得的json。现在,我需要在最后一个值处添加一个空数组。
{"func_extensions_job":[{"CodiacSDK.NewModule.dll;extensionCreatePre;":[{"CodiacSDK.NewModule.dll;extensionExecutePost;":["CodiacSDK.PythonWrapper.dll;UnitValues::extensionExecutePre;"]}]}]}
我有这个
["CodiacSDK.PythonWrapper.dll;UnitValues::extensionExecutePre;"]
我需要在此转换
[{"CodiacSDK.NewModule.dll;extensionInquirePost;":[]}]
那么有什么办法可以做到呢?
我正在使用下面的函数来生成没有空对象的json数组
var path = $("#testing").jstree().get_path($("#testing").jstree("get_selected", true)[0], '{/}').split('{/}');
var resJson = {};
console.log(JSON.stringify(resJson));
for (var j = path.length; j > 1; j--) {
//console.log(path[j - 2]);
if (path[j - 2] && !Object.keys(resJson).length) {
resJson[path[j - 2]] = [path[j - 1]];
} else {
var temp = resJson;
resJson = {};
resJson[path[j - 2]] = [temp];
}
}
感谢您的帮助。预先感谢。