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

Python解析API返回JSON数据:如何提取嵌套字典指定键

解决嵌套payload字段提取问题

嘿,这个问题我碰到过好多次,别慌!核心问题在于你的payload不是真正的Python字典,只是一个长得像字典的字符串——所以直接按字典方式取值肯定行不通。咱们分两步就能搞定:

第一步:清理并转换payload字符串为字典

你的payload里还混了中文单引号(比如‘sam b’里的引号),这会让转换工具报错,所以得先把这些中文引号换成英文的。然后用ast.literal_eval把字符串转成真正的字典(别用eval,不安全!)。

第二步:提取目标字段

转成字典后,就可以像操作普通字典一样直接取你要的字段了。

完整代码示例

# 假设这是你从API获取到的原始数据
api_response = {
    u'id': u'000123',
    u'payload': u"{'account_title': u’sam b’, 'phone_num': ‘1234567890’, 'security_pin': u'000000', 'remote_word': u’secret123’, 'email_address': ‘email@gmail.com’, 'password': u’password123’}"
}

# 1. 清理payload里的中文单引号
clean_payload = api_response['payload'].replace('‘', "'").replace('’', "'")

# 2. 把字符串转成Python字典
import ast
payload_dict = ast.literal_eval(clean_payload)

# 3. 提取你需要的字段啦!
target_email = payload_dict['email_address']
target_account = payload_dict['account_title']

# 测试输出
print(target_email)  # 会输出: email@gmail.com

额外说明

如果你的API返回的payload里引号都是英文的(没有中文引号),那可以跳过清理那一步,直接用ast.literal_eval(api_response['payload'])转换就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:30:46