Javascript 将平面JSON对象转换为树数据结构

Javascript 将平面JSON对象转换为树数据结构,javascript,json,d3.js,neo4j,Javascript,Json,D3.js,Neo4j,我需要使用d3.js在图形视图中表示Neo4j节点。然而,Neo4j的输出是一个平面Json结构,如下所示 Parent|Child ______|_____ A |B A |C A |D B |E B |F C |G D |H D |I { "name": "A", "children": [ { "name": "B", "children": [ { "name": "E",

我需要使用d3.js在图形视图中表示Neo4j节点。然而,Neo4j的输出是一个平面Json结构,如下所示

Parent|Child
______|_____
A     |B
A     |C
A     |D
B     |E
B     |F
C     |G
D     |H
D     |I
 {
 "name": "A",
 "children": [
  {
   "name": "B",
   "children": [
    {
     "name": "E",
     "children": []
    },
    {
     "name": "F",
     "children": []
    }
   ]
  "name": "C",
  "children":[
      {
      "name":"G"
      "children":[]
      }
      ]
  }
但是,为了使用
d3.js
库可视化数据,我需要一个树数据结构

如何将其转换为如下结构

Parent|Child
______|_____
A     |B
A     |C
A     |D
B     |E
B     |F
C     |G
D     |H
D     |I
 {
 "name": "A",
 "children": [
  {
   "name": "B",
   "children": [
    {
     "name": "E",
     "children": []
    },
    {
     "name": "F",
     "children": []
    }
   ]
  "name": "C",
  "children":[
      {
      "name":"G"
      "children":[]
      }
      ]
  }
等等….

mkpchiran

这不是一个完整的解决方案,但您至少可以通过这种形式的查询(假设您有通过以下链接的节点:CHILD\u of relationships)部分实现:

希望这有点帮助

恩典与和平


Jim

您也可以检查我的项目,它用javascript解决了这个问题,也就是说,它使用cypher查询的结果和
resultDataContents:graph
并使用alchemy.js将它们呈现为d3 graph,如果在d3.js中使用此数据结构是必需的,那么它更适合作为javascript中的后处理步骤。据我所知,你不能在Neo4j中递归嵌套映射,因为你不能做键分配。是的,但这是一个艰难的过程。数据集也很大,我无法一次获得所有数据。