javascript - JSON数据格式转换
大家讲道理
大家讲道理 2017-04-11 13:17:06
[JavaScript讨论组]

有如下结构数据


links里 source, target 的0 代表node1 以此类推
如何转换为

根据links里边有的关系转换为dataNew的嵌套关系
source 是父节点 target是子结点,可能有多层嵌套关系

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
伊谢尔伦

写个递归,循环遍历!

巴扎黑

Code:

function getRelationship(data) {
  var retData = new Array();
  for (var i in data.node) {
    var dataItem = {
      name: data.node[i].name,
      children: []
    };
    for (var j in data.link) {
      if (data.link[j].source == i) {
        var nodeName = data.node[data.link[j].target].name;
        dataItem.children.push({
          name: nodeName
        }); 
      }
    }
    retData.push(dataItem);
  }

  return retData;
}

var ret = getRelationship(data);

Result:

[ { name: 'node1', children: [ [Object], [Object] ] },
  { name: 'node2', children: [] },
  { name: 'node3', children: [] } ]
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号