def _traverse_tree(root):
num_nodes = 1
queue = [root]
root_json = {
"node": _name(root),
"children": []
}
queue_json = [root_json]
while queue:
current_node = queue.pop(0)
num_nodes += 1
# print (_name(current_node))
current_node_json = queue_json.pop(0)
children = list(ast.iter_child_nodes(current_node))
queue.extend(children)
for child in children:
child_json = {
"node": _name(child),
"children": []
}
current_node_json['children'].append(child_json)
queue_json.append(child_json)
return root_json, num_nodes
评论列表
文章目录