首页 > 编程语言 > 详细

python列表转json树菜单

时间:2019-10-21 16:16:07      阅读:142      评论:0      收藏:0      [点我收藏+]

1.列表数据

data = [

    { id: 1, parent_id: 2, name: "Node1" },
    { id: 2, parent_id: 5, name: "Node2" },
    { id: 3, parent_id: 0, name: "Node3" },
    { id: 4, parent_id: 5, name: "Node4" },
    { id: 5, parent_id: 0, name: "Node5" },
    { id: 6, parent_id: 3, name: "Node6" },
    { id: 7, parent_id: 3, name: "Node7" },
    { id: 8, parent_id: 0, name: "Node8" },
    { id: 9, parent_id: 1, name: "Node9" }
]

2.遍历方法

def list_to_tree(data):
    out = { 
        0: { id: 0, parent_id: 0, name: "Root node", sub: [] }
    }

    for p in data:
        out.setdefault(p[parent_id], { sub: [] })
        out.setdefault(p[id], { sub: [] })
        out[p[id]].update(p)
        out[p[parent_id]][sub].append(out[p[id]])

    return out[0]

3.测试

tree = list_to_tree(data)
import pprint
pprint.pprint(tree)

 

参考地址https://stackoverflow.com/questions/8191683/building-a-menu-tree-from-an-adjacency-list-in-python

python列表转json树菜单

原文:https://www.cnblogs.com/whf191/p/11713381.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!