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

Python如何查找JSON指定值并返回其包含的各级子对象

Python嵌套JSON数据提取方案

首先你需要调用Python内置的json模块,把JSON字符串/文件加载为Python字典,加载后的数据结构和原JSON完全对应,按照层级取对应key就能拿到目标数据。

基础加载代码

import json

# 若JSON存储在文件中,替换为 data = json.load(open("你的文件路径.json"))
json_raw = '''
{
    "example1": {
        "alpha": "bravo",
        "charlie": "delta",
        "echo":
            {
                "foxtrot": "golf",
                "hotel": "india",
                "juliett": {
                    "kilo": "lima",
                    "mike": "november"
                }
            }
    },
    "example2": {
        "alpha": "bravo",
        "charlie": "delta",
        "echo":
            {
                "foxtrot": "golf",
                "hotel": "india",
                "juliett": {
                    "kilo": "lima",
                    "mike": "november"
                }
            }
    }
}
'''
data = json.loads(json_raw)

各层级数据提取方法

  • 提取一级对象(example1、example2)
    直接遍历字典的键值对,或者指定key取值即可:

    # 遍历所有一级对象
    for first_level_key, first_level_val in data.items():
        print(f"一级键名:{first_level_key},对应数据:{first_level_val}")
    
    # 单独取example1的所有数据
    example1 = data["example1"]
    
  • 提取echo下的二级数据
    echo是一级对象下的二级key,拿到一级对象的值后直接取echo对应值即可:

    for first_key, first_val in data.items():
        echo_data = first_val["echo"]
        print(f"{first_key}下的echo二级数据:{echo_data}")
        # 也可以直接取echo下的单个字段,比如foxtrot
        foxtrot_val = echo_data["foxtrot"]
    
  • 提取juliett下的三级数据
    juliett是echo下的三级key,拿到echo的二级数据后再取juliett对应值即可:

    for first_key, first_val in data.items():
        juliett_data = first_val["echo"]["juliett"]
        print(f"{first_key}下的juliett三级数据:{juliett_data}")
        # 直接取juliett下的单个字段
        kilo_val = juliett_data["kilo"]
        mike_val = juliett_data["mike"]
    

小提示

如果不确定某一层的key是否存在,可以用dict.get("key名")方法取值,取不到的话会返回None不会抛出异常,比如first_val.get("echo")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:15:02