以下是一个示例代码,用于遍历JSON输入并根据键创建类似树形结构的层次结构。代码使用递归函数来处理子级键。
def create_tree_structure(json_input, parent=None):
if isinstance(json_input, dict):
for key, value in json_input.items():
node = Node(key)
if parent is not None:
parent.add_child(node)
create_tree_structure(value, node)
elif isinstance(json_input, list):
for item in json_input:
create_tree_structure(item, parent)
class Node:
def __init__(self, key):
self.key = key
self.children = []
def add_child(self, node):
self.children.append(node)
def print_tree(self, level=0):
indent = " " * level
print(indent + self.key)
for child in self.children:
child.print_tree(level + 1)
# 示例JSON输入
json_input = {
"key1": "value1",
"key2": {
"subkey1": "subvalue1",
"subkey2": "subvalue2",
},
"key3": [
{
"subkey3": "subvalue3"
},
{
"subkey4": "subvalue4"
}
]
}
# 创建树形结构
root = Node("root")
create_tree_structure(json_input, root)
# 打印树形结构
root.print_tree()
运行以上代码,将生成以下树形结构:
root
key1
key2
subkey1
subkey2
key3
subkey3
subkey4
下一篇:遍历Json数组