以下是一个示例代码,用于遍历JSON对象并生成路径和值的方法:
def traverse_json(json_obj, path=''):
if isinstance(json_obj, dict):
for key, value in json_obj.items():
new_path = path + '/' + str(key)
if isinstance(value, (dict, list)):
traverse_json(value, new_path)
else:
print(new_path + ': ' + str(value))
elif isinstance(json_obj, list):
for index, item in enumerate(json_obj):
new_path = path + '/' + str(index)
if isinstance(item, (dict, list)):
traverse_json(item, new_path)
else:
print(new_path + ': ' + str(item))
使用方法:
import json
# 示例JSON对象
json_str = '''
{
"name": "John",
"age": 30,
"address": {
"street": "123 Street",
"city": "City",
"state": "State"
},
"hobbies": ["reading", "writing", "coding"]
}
'''
# 将JSON字符串解析为Python对象
json_obj = json.loads(json_str)
# 遍历JSON对象并生成路径和值
traverse_json(json_obj)
运行以上代码,输出结果如下:
/name: John
/age: 30
/address/street: 123 Street
/address/city: City
/address/state: State
/hobbies/0: reading
/hobbies/1: writing
/hobbies/2: coding
这个方法会递归地遍历JSON对象的每个键值对,并生成路径和对应的值。路径使用斜杠(/)分隔,表示层级关系。
下一篇:遍历json对象的所有元素