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

Python中如何提取API返回短信列表里的code字段值?

如何提取短信列表中的code字段值

你遇到的问题很清晰:从打印结果能看到,smss是一个包含单个字典元素的列表(外面的方括号[]就是列表的标识),而列表不能直接用字符串键(比如'code')来索引,必须先定位到列表里的字典元素,再去取对应的字段。

这里有几种可行的解决方式:

方式1:直接链式访问(适合确定列表只有一个元素时)

既然你知道返回的短信列表里只有一条数据,你可以直接通过列表索引[0]拿到里面的字典,再获取code值:

token = 'token'
id = "35633560231"
headers = {
    'Authorization': 'Bearer ' + token,
    'Accept': 'application/json',
}
response = requests.get('https://5sim.net/v1/user/check/' + id, headers=headers)
datas = response.json()
smss = datas['sms']
# 直接获取第一个元素的code字段
print(smss[0]['code'])

方式2:先取出字典再访问(可读性更好)

如果你觉得链式访问不够直观,可以先把列表里的字典单独取出来,再获取code:

# ... 前面的代码不变
smss = datas['sms']
# 取出列表中的第一个短信字典
single_sms = smss[0]
# 提取code值
print(single_sms['code'])

方式3:遍历列表(适合多条短信的情况)

如果后续接口可能返回多条短信,建议用循环遍历的方式,把每个短信的code都提取出来:

# ... 前面的代码不变
smss = datas['sms']
# 遍历所有短信
for sms in smss:
    print(sms['code'])

这样就能正确拿到你想要的code值啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 13:47:41