Python实现嵌套JSON结构转换 重构列表JSON为城市编码键字典
tribunals.json 层级结构转换Python脚本
代码核心逻辑
- 全量读入原始JSON数组
- 遍历每个城市条目,以城市编码为外层字典键
- 遍历城市下属法庭列表,以法庭名称为内层字典键,映射对应资源路径
- 格式化输出处理后的JSON文件
完整可运行代码
import json # 替换为实际的文件路径 INPUT_FILE = "tribunals.json" OUTPUT_FILE = "tribunals_result.json" result = {} # 读取原始数据 with open(INPUT_FILE, "r", encoding="utf-8") as f: raw_list = json.load(f) # 构建层级字典 for city_entry in raw_list: city_code = city_entry["city"] # 若需合并重复城市的法庭数据,可先判断city_code是否已存在于result中,不存在再初始化空字典 result[city_code] = {} for tribunal in city_entry["tribunals"]: result[city_code][tribunal["name"]] = tribunal["value"] # 写入输出文件 with open(OUTPUT_FILE, "w", encoding="utf-8") as f: # ensure_ascii=False 保证中文不被转义,indent=2 格式化输出缩进 json.dump(result, f, ensure_ascii=False, indent=2) print(f"转换完成,输出文件路径:{OUTPUT_FILE}")
适配说明
- 若原始文件体积过大超出内存承载上限,可使用
ijson等流式JSON解析库替代全量json.load逻辑,避免内存溢出 - 不需要格式化缩进的场景,删除
indent=2参数即可,输出文件体积更小 - 若存在重复法庭名称的场景,默认后者覆盖前者,可根据需求增加去重或合并逻辑
内容的提问来源于stack exchange,提问作者David López
相关产品推荐
相关产品推荐

