gpt4 book ai didi

javascript - jqTree - 从 json 创建树数据

转载 作者:行者123 更新时间:2023-11-29 22:24:31 25 4
gpt4 key购买 nike

我正在尝试使用 jqTree 显示一棵树 - http://mbraak.github.com/jqTree

我需要有关从 JSON 创建树数据的帮助。

我的 JSON 数据如下所示:

    {
"d" : {
"results": [
{
"Title": "Committee A",
"ReportsToId": null,
"Rank": 1,
"Id": 5
},
{
"Title": "Committee B",
"ReportsToId": 5,
"Rank": 2,
"Id": 7
},
{
"Title": "Committee C",
"ReportsToId": 7,
"Rank": 3,
"Id": 13
},
{
"Title": "Committee D",
"ReportsToId": 13,
"Rank": 4,
"Id": 1
},
{
"Title": "Committee E",
"ReportsToId": 13,
"Rank": 4,
"Id": 3
}
]
}
}

我想以此结束:

    var treeData = [
{
label: 'Committee A',
children: [
{
label: 'Committee B',
children: [
{
label: 'Committee C',
children: [
{ label: 'Committee D' },
{ label: 'Committee E' }
]
}]
}
]
}
];

最佳答案

这是改编自 http://www.jqwidgets.com/populating-jquery-tree-with-json-data/ 的解决方案:

var jqTreeData = function (data) {
var source = [];
var items = [];
// build hierarchical source.
for (i = 0; i < data.length; i++) {
var item = data[i];
var title = item["Title"];
var reportsToId = item["ReportsToId"];
var id = item["Id"];

if (items[reportsToId]) {
var item =
{
label: title
};

if (!items[reportsToId].children) {
items[reportsToId].children = [];
}

items[reportsToId].children[items[reportsToId].children.length] = item;
items[id] = item;
}
else {
items[id] =
{
label: title
};

source[0] = items[id];
}
}
return source;
}

关于javascript - jqTree - 从 json 创建树数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10405222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com