跳到主要内容
CNode

js 解决 JSON 子节点转根节点,本人使用深度优先遍历算法未实现(d3.js 树状关系网络),求一段优雅的 js

问答
LLawrence-zxc发布于 10 年前
031210

需求抽象一下吧, 输入json为 var json='{"name":"A","size":45,"children":[{"name":"B","size":10},{"name":"C","size":10},{"name":"D","size":10},{"name":"E","size":45,"children":[{"name":"B","size":10},{"name":"F","size":10}]},{"name":"G","size":10},{"name":"H","size":45,"children":[{"name":"B","size":10},{"name":"I","size":10},{"name":"F","size":10}]},{"name":"J","size":10},{"name":"Q","size":10},{"name":"L","size":10},{"name":"M","size":10},{"name":"N","size":63,"children":[{"name":"O","size":63},{"name":"P","size":10},{"name":"H","size":45},{"name":"Q","size":167}]},{"name":"I","size":10},{"name":"R","size":10}]}';

对应成图 QQ图片20160603101414.png

输出json为 var data='{"name":"Q","size":167,"children":[{"name":"N","size":63,"children":[{"name":"O","size":63},{"name":"P","size":10},{"name":"H","size":45},{"name":"A","size":45,"children":[{"name":"B","size":10},{"name":"C","size":10},{"name":"D","size":10},{"name":"E","size":45,"children":[{"name":"B","size":10},{"name":"F","size":10}]},{"name":"G","size":10},{"name":"H","size":45,"children":[{"name":"B","size":10},{"name":"I","size":10},{"name":"F","size":10}]},{"name":"J","size":10},{"name":"Q","size":10},{"name":"L","size":10},{"name":"M","size":10},{"name":"I","size":10},{"name":"R","size":10}]}]}]}';

对应成图 QQ图片20160603101430.png

输入json, 输出json 这2端json结构类似, 仅仅根节点反转了, 叶子节点转成根节点, 叶子节点的父节点转成子节点, 对应成图形结构不变; 例如图片所示, 原来的根节点A为中心生成图形, 现在是根节点Q为中心生成图形; 求一段遍历算法, 完成 json--> data的转化 在V2上面也发了,貌似没有人解决掉 http://v2ex.com/t/283114

查看回复

回复 (0)

暂无回复,成为第一个参与讨论的人。

参与回复

登录后即可参与回复。登录