为JSTree重建JSON

时间:2015-03-12 12:25:30

标签: javascript jquery json jstree

这是我与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")); });});

0 个答案:

没有答案