2

如上所述,我正在尝试使用 d3 绘制图表,其中我需要数据处于父子关系中,但我无法弄清楚如何将 MySQL 查询结果转换为 JSON 父子格式。

提供的帮助将非常感激。

我正在尝试在以下 URL 中复制图表:

可缩放分区布局(单击分区以放大或缩小树)

MySQL中的数据

列 1 列 2 列 3
第一名 - 1500
第一个孩子第一个500强
二孩一等500强
三孩第一500强
第一个孩子 第一个孩子 250
第一个孩子 第一个孩子 250
二孩二孩250
二孩二孩250
第三个孩子第三个孩子250
第三个孩子第三个孩子250

所需的数据格式:

{
    "name": "第一顶",
    “孩子们”: [
    {
        "name": "第一个孩子",
        “孩子们”: [
        {"name": "第一个子子", "size": 250},
        {“名称”:“第一个子”,“大小”:250}
        ]
    },
    {
        "name": "第二个孩子",
        “孩子们”: [
        {"name": "第二个子", "size": 250},
        {"name": "第二个子", "size": 250}
        ]
    },
    {
        "name": "第三个孩子",
        “孩子们”: [
        {"name": "第三个子", "size": 250},
        {“名称”:“第三个子”,“大小”:250}
        ]
    }
    ]
}
4

1 回答 1

0

这是一些伪代码,假设有一级层次结构:

  • 从数据库中获取父/子行 ( select t1.parent, t1.item, size from tree t1, tree t2 where t1.parent=t2.item)
  • 循环遍历行:
    • 如果父级不同于先前的父级并且设置了先前的父级:
      • 将对象推入数组
      • 开始一个新对象
    • 将子项和大小添加到对象
  • 将最后一个对象推入数组
  • 获取根对象(父对象为空)
  • 将对象编码为带有根对象的 json;请参阅以正确的方式创建 JSON 对象
  • 输出json
于 2013-10-11T01:01:07.780 回答