[英]Convert Python Dict to jqtree structure
在我的一个项目中,我试图转换以下 python dict
{
'node1' :
{
'child1': {},
'child2':{}
},
'node2': {'child3': {}
}
}
到以下结构,
var data = [
{
name: 'node1',
children: [
{ name: 'child1' },
{ name: 'child2' }
]
},
{
name: 'node2',
children: [
{ name: 'child3' }
]
}
];
jqtree使用此格式。 任何人都可以建议最好的方法。 由于结果数据结构不包含“node1”作为键,我不确定如何将下一级数据插入其中。
这是一个适用于您的示例的快速递归函数。 如果子项包含其他类型(列表等)而不是纯粹的嵌套字典结构,您可能需要进行一些修改:
def jqtree_from(data):
jq = []
for key, value in data.items():
node = {'name': key}
if value:
node['children'] = jqtree_from(value)
jq.append(node)
return jq
例子:
>>> d = # your example here
>>> jqtree_from(d)
[{'name': 'node1',
'children': [{'name': 'child1'},
{'name': 'child2'}]},
{'name': 'node2', 'children': [{'name': 'child3'}]}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.