以下是一个遍历嵌套对象以形成字符串的示例代码:
def flatten_nested_obj(nested_obj, parent_key='', sep='.'):
flattened_obj = {}
for key, value in nested_obj.items():
new_key = f"{parent_key}{sep}{key}" if parent_key else key
if isinstance(value, dict):
flattened_obj.update(flatten_nested_obj(value, new_key, sep=sep))
else:
flattened_obj[new_key] = value
return flattened_obj
nested_obj = {
'a': 1,
'b': {
'c': 2,
'd': {
'e': 3
}
}
}
flattened_obj = flatten_nested_obj(nested_obj)
print(flattened_obj)
输出结果:
{
'a': 1,
'b.c': 2,
'b.d.e': 3
}
在上面的示例中,我们定义了一个flatten_nested_obj
函数来遍历嵌套对象并将其转换为扁平化的字典。该函数采用三个参数:nested_obj
表示嵌套对象,parent_key
表示父级键的前缀(默认为空),sep
表示父级键和子级键之间的分隔符(默认为'.')。
在函数内部,我们使用items()
方法迭代嵌套对象的键值对。对于每对键值对,我们检查值是否是一个字典。如果是字典,则递归调用flatten_nested_obj
函数来处理子级字典,并将结果更新到flattened_obj
中。如果值不是字典,则将其添加到flattened_obj
中,键由父级键和当前键以分隔符连接而成。
最后,我们将嵌套对象nested_obj
传递给flatten_nested_obj
函数,并打印结果。
这样我们就可以遍历嵌套对象并形成一个扁平化的字典。