python使用json实现树结构_创建流程树表单json文件。在python中

我正试图从以下内容转换json文件的内容:

{ "Timestamp": "Timestamp",

"name": "SVCHOST.EXE",

"icon": "binary_icon.png",

"Process": SVCHOST.EXE,

"Pid": "876",

"PPID": "500"],

"children": [Process details])

},

{ "Timestamp":"Timestamp",

"name": "LSAS.EXE",

"icon": "binary_icon.png",

"Process": "LSAS.EXE",

"Pid": "500",

"PPID": "4"],

"children": [Process details])

},

{ "Timestamp":"Timestamp",

"name": "SYSTEM",

"icon": "binary_icon.png",

"Process": "SYSTEM",

"Pid": "4",

"PPID": "0"],

"children": [Process details])

}

对此:

{

"name": "Root",

"children": [

{

"name": "4",

"children": [

{

"name": "500",

"children": [

{

"name": "876",

"children": []

}

]

}

]

}

}

最后创建一个节点树图。

但经过多次尝试和错误,仍然没有接近我需要的输出。我要一些指针,提示或技巧。

任何帮助都非常感谢。

这是我最近的一次尝试。

import json

links = ({

"Timestamp": "Timestamp",

"name": "SVCHOST.EXE",

"icon": "binary_icon.png",

"Process": "SVCHOST.EXE",

"Pid": "876",

"PPID": "500",

"children": "Process_details"

},

{

"Timestamp":"Timestamp",

"name": "LSAS.EXE",

"icon": "binary_icon.png",

"Process": "LSAS.EXE",

"Pid": "500",

"PPID": "4",

"children": "Process_details"

},

{

"Timestamp":"Timestamp",

"name": "SYSTEM",

"icon": "binary_icon.png",

"Process": "SYSTEM",

"Pid": "4",

"PPID": "0",

"children": "Process_details"

})

parent_proc_node = {}

root = {'name': 'Root', 'children': []}

for item in procs:

parent_node = parent_proc_node.get(item['Pid'])

if not parent_node:

parent_proc_node[item['Pid']] = parent_node = {'name': item['PPID']}

root['children'].append(parent_node)

parent_proc_node[item['PPID']] = child_node = {'name': item['Pid']}

parent_node.setdefault('children', []).append(child_node)

print json.dumps(root, indent=4)

电流输出:

{

"name": "Root",

"children": [

{

"name": "500",

"children": [

{

"name": "876",

"children": [

{

"name": "500",

"children": [

{

"name": "4"

}

]

}

]

}

]

}

}

我做错什么了?

{

"name": "Root",

"children": [

{

"name": "4",

"children": [

{

"name": "500",

"children": [

{

"name": "876",

"children": [

{

"name": ""

}

]

}

]

}

]

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值