You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历嵌套字典并为JSON对象添加org_path路径字段

为嵌套组织添加层级路径(org_path)的实现方案

这是典型的树形结构遍历问题,用递归就能轻松解决——递归遍历每个组织节点,传递父级的路径,给当前节点生成完整路径后,再递归处理子节点。

Python 实现代码

def add_org_path(org, parent_path=""):
    # 生成当前组织的路径
    if parent_path:
        org["org_path"] = f"{parent_path}/{org['org_name']}"
    else:
        # 根节点没有父路径,直接用自身名称
        org["org_path"] = org["org_name"]
    
    # 递归处理子组织
    for sub_org in org.get("orgs", []):
        add_org_path(sub_org, org["org_path"])

# 你的原始数据
source = {
"org_name": "root",
"orgs": [
    {
        "org_name": "alpha1",
        "orgs": []
    },
    {
        "org_name": "alpha2",
        "orgs": [
            {
                "org_name": "beta1",
                "orgs": [
                    {
                        "org_name": "gama1",
                        "orgs": []
                    }
                ]
            }
        ]
    }
]
}

# 调用函数添加路径
add_org_path(source)

# 格式化打印结果
import json
print(json.dumps(source, indent=2))

代码说明

  • 递归函数add_org_path接收两个参数:当前组织节点org,以及父级路径parent_path(默认空字符串,对应根节点)。
  • 根节点的org_path直接等于自身的org_name;子节点的路径是父级路径拼接自身名称,用/分隔。
  • 遍历当前节点的orgs列表,把每个子节点和当前节点的org_path作为父路径传入,递归处理。

运行代码后,输出的结构就和你要求的完全一致。

内容的提问来源于stack exchange,提问作者Tony Frank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:48:25