如上所述,我正在尝试使用 d3 绘制图表,其中我要求数据处于父子关系中,但我无法弄清楚如何将 MySQL 查询结果转换为 JSON 父子格式。
提供的帮助将非常感谢。
我正在尝试在以下URL中复制图表:
可缩放分区布局(单击分区以放大或缩小树(
MySQL 中的数据:
列 1 列 2 列 3首页 - 1500第一个孩子第一个500强第二个孩子第一个500强第三胎第一500强第一个子孩子 第一个孩子 250第一个子孩子 第一个孩子 250第二个子孩子 第二个孩子 250第二个子孩子 第二个孩子 250第三个子孩子 第三个孩子 250第三个子孩子 第三个孩子 250
所需数据格式 :
{ "名称": "第一顶", "儿童":[ { "名字": "第一个孩子", "儿童":[ {"名称": "第一个子子项", "大小": 250}, {"名称": "第一个子子项", "大小": 250} ] }, { "姓名": "第二个孩子", "儿童":[ {"名称": "第二个子子项", "大小": 250}, {"名称": "第二个子子项", "大小": 250} ] }, { "名字": "第三个孩子", "儿童":[ {"名称": "第三个子子", "大小": 250}, {"名称": "第三个子子", "大小": 250} ] } ]}
下面是
一些伪代码,假设一个层次结构级别:
- 从数据库中获取父/子行 (
select t1.parent, t1.item, size from tree t1, tree t2 where t1.parent=t2.item
( - 循环遍历行:
- 如果父级与上一个父
- 级不同,并且设置了上一个父级:
- 将对象推送到数组上
- 启动一个新对象
- 向对象添加子项和大小
- 级不同,并且设置了上一个父级:
- 将最后一个对象推到数组上
- 获取根对象(其中父对象为空(
- 使用根对象将对象编码为 JSON ;请参阅以正确的方式创建 JSON 对象
- 输出 JSON