Javascript 自定义jstree JSON数据解析到树中
我有一个简单的JSON数据,如下所示:Javascript 自定义jstree JSON数据解析到树中,javascript,json,jstree,Javascript,Json,Jstree,我有一个简单的JSON数据,如下所示: [ "env/child1/env/key1", "env/child1/key1", "env/child1/key2", "env/child1/", "env/child2/key1", "env/child2/key2", "env/child2/", "env/" ] 如何让jsTree理解这棵树并绘制这棵树 环境 孩子1 关键1 键2 我是否需要编写自定义解析函数,或者是否有现成
[
"env/child1/env/key1",
"env/child1/key1",
"env/child1/key2",
"env/child1/",
"env/child2/key1",
"env/child2/key2",
"env/child2/",
"env/"
]
如何让jsTree理解这棵树并绘制这棵树
- 环境
- 孩子1
- 关键1
- 键2
- 孩子1
我是否需要编写自定义解析函数,或者是否有现成的方法来实现这一点。上述数据缺少父项“env/child1/env/”而子项“env/child1/env/key1”
tree = {
'core' : {
'data' : [
]
}
}
data = [
"env/child1/env/key1",
"env/child1/key1",
"env/child1/key2",
"env/child1/",
"env/child2/key1",
"env/child2/key2",
"env/child2/",
"env/"
];
minlen = -1;
picked = "";
for(i =0; i<data.length; i++) {
if(data[i].length < minlen || minlen == -1) {
minlen = data[i].length;
picked = data[i];
}
}
tree.core.data.push({ "id" : picked, "parent" : "#", "text" : picked })
xdata = data
xdata.splice(xdata.indexOf(picked), 1)
for(i =0; i<xdata.length; i++) {
name = xdata[i]
parent = ""
if(name.substr(name.length-1,1) == '/') {
xname = name.substr(0,name.length-1);
parent = xname.substr(0,xname.lastIndexOf("/")+1)
} else {
parent = name.substr(0,name.lastIndexOf("/")+1)
}
tree.core.data.push({ "id" : name, "parent" : parent, "text" : name })
}
console.log(tree);
1.更正如下:
数据=[
“env/child1/env/”
“env/child1/env/key1”,
“env/child1/key1”,
“env/child1/key2”,
“环境/儿童1/”,
“env/child2/key1”,
“env/child2/key2”,
“环境/儿童2/”,
“env/”
];
从jsTree网站判断,首先需要根据要构建的树实例化DOM。你有密码吗?你把jstree初始化放在$(文档)中了吗。准备好了吗?我还没有准备好任何东西,也许是一些指导,告诉我如何启动ps:我正在使用原始jstree包中的演示文件。你能改变JSON的外观吗?你能扩展一下吗?这是我得到的json,它的结构是固定的,不能更改的DJS树告诉你应该如何构造数据:。因此,您可能应该更改数组以遵循该格式。它一直有效,直到我必须在根环境旁边创建另一个文件夹
{
"core": {
"data": [
{
"id": "env/",
"parent": "#",
"text": "env/"
},
{
"id": "env/child1/env/key1",
"parent": "env/child1/env/",
"text": "env/child1/env/key1"
},
{
"id": "env/child1/key1",
"parent": "env/child1/",
"text": "env/child1/key1"
},
{
"id": "env/child1/key2",
"parent": "env/child1/",
"text": "env/child1/key2"
},
{
"id": "env/child1/",
"parent": "env/",
"text": "env/child1/"
},
{
"id": "env/child2/key1",
"parent": "env/child2/",
"text": "env/child2/key1"
},
{
"id": "env/child2/key2",
"parent": "env/child2/",
"text": "env/child2/key2"
},
{
"id": "env/child2/",
"parent": "env/",
"text": "env/child2/"
}
]
}
}