【发布时间】:2019-01-25 20:17:42
【问题描述】:
我想制作树状结构。在每个节点中都有两个符号(+ 表示再添加一个节点,- 表示删除特定节点)。我面临的问题是如何从嵌套的 json 中添加/删除节点(子节点)。对于一层或两层嵌套它很好,但对于不止一层,我无法制作一些通用代码来执行此操作。下面是我必须在其上进行添加/删除操作的默认 json 和树的图片。在 HTML 和 CSS 中我没有问题。欢迎一些线索或提示,因为最近 2 天我正在处理这个问题。谢谢
JSON :
{
"name": "abc",
"children": [{
"name": "def",
"children": [{
"name": "jkl",
"children": [{
"name": "vwxyz",
"children": []
}]
}]
},
{
"level": "2",
"name": "ghi",
"children": [{
"name": "mno",
"children": []
}, {
"name": "pqr",
"children": [{
"name": "stu",
"children": []
}]
}]
}
]
}
【问题讨论】:
-
基本上,当您单击 +/- 时,您应该将该函数绑定到一个 json 节点,以便它知道要将子节点添加到哪个节点。
-
不确定这是否能回答您的问题,但是:github.com/josdejong/jsoneditor
-
你的意思是从一个节点中删除一个子节点,还是从它的父节点中删除一个节点?
-
@RonyHe 从父节点移除节点
-
name属性是否唯一?
标签: javascript arrays json object nested-object