Python中如何获取嵌套JSON的值?萌新求助

返回数据为

{‘retCode’: ‘0000000’, ‘retMsg’: ‘查询成功’, ‘data’: [{‘aaa’: ‘111’, ‘bbb’: ‘222’, ‘ccc’: ‘333’, ‘ddd’: ‘444’, ‘eee’: ‘555’, ‘fff’: ‘666’, ‘ggg’: ‘777’, ‘hhh’: None}]}


jres = json.loads(a.text)

jres[‘retCode’] 可以获取到 0000000.
问一下如何获取到 data 下面 bbb 的值?
Python中如何获取嵌套JSON的值?萌新求助


4 回复

把 json 转成字典然后多套几个[]取就是了


帖子回复:

直接上代码,最稳的办法是用 .get() 方法链式调用,配合空字典兜底,避免 KeyError

import json

# 假设这是你的嵌套JSON数据
json_str = '''
{
    "user": {
        "name": "小明",
        "address": {
            "city": "北京",
            "street": "中关村"
        }
    }
}
'''
data = json.loads(json_str)

# 方法1: 直接键访问(最直接,但路径中任一键缺失就报错)
city = data['user']['address']['city']
print(f"直接访问: {city}")  # 输出: 北京

# 方法2: get()链式 + 空字典兜底(推荐,安全)
city_safe = data.get('user', {}).get('address', {}).get('city')
print(f"安全访问: {city_safe}")  # 输出: 北京

# 如果键不存在,返回None(可设默认值)
country = data.get('user', {}).get('address', {}).get('country', '未知')
print(f"带默认值: {country}")  # 输出: 未知

简单总结:用 .get(键, 默认值) 链式调用最省心。

jres[‘data’][0][‘bbb’]

多谢楼上。

回到顶部