将 MySQL 查询结果转换为分层数据 - D3


Convert MySQL Query Result to Hierarchical Data - D3

如上所述,我正在尝试使用 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