如上所述,我正在尝试使用d3绘制图表,其中我需要数据以Parent Child关系存在,但我无法弄清楚如何将MySQL查询结果转换为JSON Parent child格式。
提供的帮助将非常感谢。
我正在尝试在下面的URL中复制图表:
Zoomable Partition Layout(单击分区以放大或缩小树)
MySQL中的数据:
列1列2列3
第一名-1500
第一个孩子500强
第二名儿童500强
第三名儿童500强
第一子孩子第一孩子250
第一子孩子第一孩子250
第二子孩子第二孩子250
第二子孩子第二孩子250
第三子孩子第三子孩子250
第三子孩子第三子孩子250
所需数据格式:
{
“ name”:“第一名”,
“儿童”:[
{
“ name”:“第一个孩子”,
“儿童”:[
{“ name”:“第一个子孩子”,“ size”:250},
{“名称”:“第一个子孩子”,“尺寸”:250}
]
},
{
“ name”:“第二个孩子”,
“儿童”:[
{“名称”:“第二子”,“尺寸”:250},
{“名称”:“第二子”,“大小”:250}
]
},
{
“ name”:“第三子”,
“儿童”:[
{“名称”:“第三子”,“尺寸”:250},
{“名称”:“第三子”,“尺寸”:250}
]
}
]
}
最佳答案
这是一些伪代码,假设是一个层次结构:
从数据库中获取父/子行(select t1.parent, t1.item, size from tree t1, tree t2 where t1.parent=t2.item
)
遍历行:
如果父级不同于先前的父级,并且设置了先前的父级:
将对象推入数组
开始一个新对象
向对象添加子项和大小
将最后一个对象推入数组
获取根对象(其中parent为null)
使用根对象将对象编码为json;见Create JSON-object the correct way
输出json
关于javascript - 将MySQL查询结果转换为分层数据-D3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19287099/