处理JSON数据中的嵌套结构通常需要递归地解析和处理数据
json
库。如果没有安装,可以使用以下命令安装:pip install json
nested_json_handler.py
的文件,并在其中编写以下代码:import json
def nested_json_handler(data):
if isinstance(data, dict):
for key, value in data.items():
print(f"Key: {key}")
nested_json_handler(value)
elif isinstance(data, list):
for index, value in enumerate(data):
print(f"Index: {index}")
nested_json_handler(value)
else:
print(f"Value: {data}")
if __name__ == "__main__":
json_string = '''
{
"name": "John",
"age": 30,
"city": "New York",
"hobbies": [
"reading",
{
"type": "sports",
"name": "basketball"
},
[1, 2, 3]
]
}
'''
json_data = json.loads(json_string)
nested_json_handler(json_data)
在这个示例中,我们定义了一个名为nested_json_handler
的函数,该函数接受一个参数data
。首先,我们检查data
是否为字典类型。如果是,我们遍历字典中的每个键值对,并递归地调用nested_json_handler
函数处理值。如果data
是列表类型,我们遍历列表中的每个元素,并递归地调用nested_json_handler
函数处理元素。如果data
既不是字典也不是列表,我们直接打印其值。
Key: name
Value: John
Key: age
Value: 30
Key: city
Value: New York
Key: hobbies
Index: 0
Value: reading
Index: 1
Key: type
Value: sports
Index: 1
Key: name
Value: basketball
Index: 2
Value: 0
Value: 1
Value: 2
这个示例展示了如何处理JSON数据中的嵌套结构。你可以根据需要修改这个脚本,以适应你的具体需求。