{"0":
{"id":"1",
"Name":"A1",
"parent_id":"0"},
"1":
{"id":"2",
"Name":"A2",
"parent_id":"0",
"0":
{"id":"3",
"Name":"A3",
"parent_id":"2",
"0":
{"id":"4",
"Name":"A4",
"parent_id":"3"}}}}
这是从数据库表填充的。我想只删除节点ID 2(A2)。 Id 3的父ID应该自动成为id 1.这是A2的直接孩子与其子女一起成为其父母的孩子。因为我正在使用带有QML的js,所以我无法使用splice或remove。有什么建议?我现在能够通过找到必须删除的节点并将其分配给null来删除整个节点及其子节点(a2,a3,a4)。我很难删除所选节点而不是其子节点
答案 0 :(得分:2)
jsonObject['1'] = jsonObject['1']['0'];
这个 应该减少A2的引用计数并将其删除,但增加A3的引用计数,保存A3及其子代。
答案 1 :(得分:1)
你不能简单地删除。您需要在删除之前复制要保留的内容。
也许你真正的问题是数据本身的结构。最有可能的是,您希望json结构是平面的,然后使用函数根据需要重新创建树。
答案 2 :(得分:0)
我必须做类似的事情,不幸的是,我发现这样做的唯一方法是手动重建JSON结构。 :(