以下是一个示例函数,用于递归地返回对象中的所有键:
def get_all_keys(obj):
keys = []
if isinstance(obj, dict):
for key in obj.keys():
keys.append(key)
keys.extend(get_all_keys(obj[key]))
elif isinstance(obj, list):
for item in obj:
keys.extend(get_all_keys(item))
return keys
使用示例:
obj = {
'key1': 'value1',
'key2': {
'subkey1': 'subvalue1',
'subkey2': {
'subsubkey1': 'subsubvalue1'
}
},
'key3': [
{'subkey3': 'subvalue3'},
{'subkey4': 'subvalue4'}
]
}
print(get_all_keys(obj))
输出:
['key1', 'key2', 'subkey1', 'subkey2', 'subsubkey1', 'key3', 'subkey3', 'subkey4']
该函数首先判断对象的类型,如果是字典,则遍历字典的键,并递归地调用函数获取子对象的所有键。如果是列表,则遍历列表中的每个元素,并递归地调用函数获取子对象的所有键。最后返回所有键的列表。