以下是一个将多层嵌套的 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'
}
Python 算法:扁平化多层嵌套 JSON 数据

原文地址: https://www.cveoy.top/t/topic/ltJP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录