这是我与JS的第一次见面,所以我在理解我需要做的事情上遇到了一些麻烦。
我有自己的REST服务。我从中获得了JSON。 JSON看起来像
{"list": [
{
"id_depart": 1,
"id_parent_depart": 1,
"address": "Pobeda 30",
"name_depart": "ParentDepartment",
"name_parent_depart": "ParentDepartment"
},
{
"id_depart": 101,
"id_parent_depart": 1,
"address": "gjh",
"name_depart": "xxbxgh",
"name_parent_depart": "ParentDepartment"
},
{
"id_depart": 201,
"id_parent_depart": 1,
"address": "some addr",
"name_depart": "department1",
"name_parent_depart": "ParentDepartment"
},
{
"id_depart": 203,
"id_parent_depart": 1,
"address": "some addr",
"name_depart": "department2",
"name_parent_depart": "ParentDepartment"
},
{
"id_depart": 202,
"id_parent_depart": 201,
"address": "some addr",
"name_depart": "sub-department!",
"name_parent_depart": "department1"
}]}
有一些条目里面有其他条目。它由“父母id”管理。 所以我想创建显示此交互的JSTree。 经过几个小时的阅读JSTree文档,我明白它使用特定的json格式来构建一个树。但我不知道如何将我的json转换为需要。
同样在结果树中我需要在onClick节点上发出POST请求,所以我需要将REST json中的对象存储到treeObjects的元数据中。
所以,如果有人能给我一些建议,那就太棒了!谢谢!
来自JSTree示例的代码
$(function () {
$("#demo1").jstree({
"json_data" : {
"data" : [
{
"data" : "A node",
"metadata" : { id : 23 },
"children" : [ "Child 1", "A Child 2" ]
},
{
"attr" : { "id" : "li.node.id1" },
"data" : {
"title" : "Long format demo",
"attr" : { "href" : "#" }
}
}
]
},
"plugins" : [ "themes", "json_data", "ui" ]
}).bind("select_node.jstree", function (e, data) { alert(jQuery.data(data.rslt.obj[0], "id")); });});