Python - 如何将父子转换为嵌套字典

时间:2013-03-13 10:20:57

标签: python json

我有一个父子dict,如下所示,其中key是child,0是root节点。

node[0]=[{"parms":{"meta1":"foo"},"name":"RootNoe"}]
node[1]=[{"parent":0,"data":{"parms":{"meta2":"bar"},"name":"country"} }]
node[2]=[{"parent":1,"data":{"parms":{"meta3":"baz"},"name":"day"} }]

我需要创建一个如下所示的嵌套json对象:

test = {
        "params": {"parms":{"meta1":"foo"},
        "name": "RootNode", 
         "children": [ 
                     {
                     "parms":{"meta2":"bar"},
                      "name":"country",
                      "children": [
                                 {"parms":{"meta3":"baz"},
                                  "name":"day","children": []}
                                 ]
            }]  
        }

我如何在python中执行此操作?

1 个答案:

答案 0 :(得分:1)

您可以根据循环中的定义构建树。

for element in node:
    if 'parent' in element:
        if 'children' not in node[element['parent']]:
            node[element['parent']]['children'] = []
        node[element['parent']]['children'].append(element)
        del element['parent']

test = node[0]

children需要存在才能发挥作用,但我希望你能得到这个要点。 另请注意,这会修改node序列。