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

无需硬编码随机中间键,如何从嵌套字典中获取MetaEntry数据

方案1:基于已知固定顶层键过滤(执行效率更高)

如果确认顶层字典仅包含Tags、ObjectId两个固定公共键,剩余的唯一键就是动态业务对象键,可以直接过滤后取数:

# 定义顶层已知的固定公共键集合
fixed_top_keys = {"Tags", "ObjectId"}
# 过滤得到动态业务对象键
dynamic_business_key = [k for k in dictionary if k not in fixed_top_keys][0]
# 提取目标数据
meta_entry = dictionary[dynamic_business_key]['MetaData']['MetaEntry']
print(meta_entry)

方案2:通用遍历匹配(兼容性更强)

无需提前知晓顶层固定键规则,直接遍历所有顶层值匹配包含MetaData字段的字典即可,适配后续顶层键新增、业务对象数量变化的场景:

基础版

meta_entry = None
for val in dictionary.values():
    # 判断当前值为字典且包含MetaData键
    if isinstance(val, dict) and "MetaData" in val:
        meta_entry = val["MetaData"]["MetaEntry"]
        break

if meta_entry:
    print(meta_entry)

健壮性优化版

加入键不存在的异常兼容,即使中间层级的MetaData或MetaEntry键缺失也不会抛出报错:

meta_entry = None
for val in dictionary.values():
    if isinstance(val, dict):
        meta_data = val.get("MetaData", {})
        current_entry = meta_data.get("MetaEntry")
        if current_entry:
            meta_entry = current_entry
            break

print(meta_entry if meta_entry else "未找到匹配的MetaEntry数据")

内容的提问来源于stack exchange,提问作者Praveen K M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:09:02