以下是一个示例代码,用于遍历一个JSON文件并显示所有元素:
import json
def traverse_json(data, parent_key=''):
if isinstance(data, dict):
for key, value in data.items():
new_key = parent_key + '.' + key if parent_key else key
traverse_json(value, new_key)
elif isinstance(data, list):
for i, value in enumerate(data):
new_key = parent_key + '[' + str(i) + ']'
traverse_json(value, new_key)
else:
print(parent_key, data)
# 读取JSON文件
with open('data.json', 'r') as file:
json_data = json.load(file)
# 遍历JSON数据
traverse_json(json_data)
在这个示例中,我们首先定义了一个traverse_json
函数来遍历JSON数据。该函数接受两个参数:要遍历的数据和当前元素的父键名。
在函数内部,我们使用isinstance
函数来检查数据的类型。如果数据是一个字典,则我们使用items
方法来遍历它的键值对。对于每个键值对,我们将其键和父键拼接在一起,并递归调用traverse_json
函数来遍历该键对应的值。
如果数据是一个列表,则我们使用enumerate
函数来遍历它的元素。对于每个元素,我们将其索引和父键拼接在一起,并递归调用traverse_json
函数来遍历该元素。
最后,如果数据既不是字典也不是列表,则我们将其键和值打印出来。
在代码的最后部分,我们使用json.load
函数从文件中读取JSON数据,并调用traverse_json
函数来遍历它。请注意,你需要将data.json
替换为你实际的JSON文件路径。