Python 算法:扁平化多层嵌套 JSON 数据
以下是一个将多层嵌套的 JSON 打平的示例 Python 函数:
def flatten_json(nested_json, parent_key='', sep='_'):
'将多层嵌套的 JSON 打平的函数'
flattened_dict = {}
for key, value in nested_json.items():
new_key = parent_key + sep + key if parent_key else key
if isinstance(value, dict):
flattened_dict.update(flatten_json(value, new_key, sep=sep).items())
else:
flattened_dict[new_key] = value
return flattened_dict
该函数将递归地遍历嵌套的 JSON 并将其展平为一个字典。可以通过调用以下示例代码来测试该函数:
import json
# 示例嵌套 JSON
nested_json = {
'name': 'John',
'age': 30,
'address': {
'street': '123 Main St',
'city': 'Anytown',
'state': 'CA',
'zip': '12345'
},
'phone_numbers': {
'home': '555-555-1234',
'work': '555-555-5678'
}
}
# 调用函数并打印结果
flattened_dict = flatten_json(nested_json)
print(json.dumps(flattened_dict, indent=4))
输出应该如下所示:
{
'name': 'John',
'age': 30,
'address_street': '123 Main St',
'address_city': 'Anytown',
'address_state': 'CA',
'address_zip': '12345',
'phone_numbers_home': '555-555-1234',
'phone_numbers_work': '555-555-5678'
}
原文地址: https://www.cveoy.top/t/topic/ltJP 著作权归作者所有。请勿转载和采集!