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

调用Hypixel API时存在profile JSON却触发KeyError(last_save)的解决方法

解决Hypixel Skyblock API获取last_save时的KeyError问题

嘿,这个问题我之前也碰到过!你之所以会触发KeyError,是因为last_save字段不在返回JSON的顶层字典里,而是嵌套在profile这个子字典当中。你代码里已经能打印data['profile'],说明你知道这个字段存在,但取last_save的时候找错了层级。

修正后的代码

我帮你调整了代码,同时加了安全判断避免后续再出现类似问题:

import requests
import json

api_key = 'API KEY HERE'
uuid = 'UUID HERE'
profileID = 'PROFILE ID HERE'
player = 'PLAYER NAME HERE'

# 发送API请求
url = f'https://api.hypixel.net/skyblock/profile?key={api_key}&profile={profileID}'
response = requests.get(url)

# 解析JSON响应
data = response.json()

# 先检查字段是否存在,再安全取值
if data.get('profile') and 'last_save' in data['profile']:
    last_save = data['profile']['last_save']
    print(f"Last save timestamp: {last_save}")
else:
    print("无法找到last_save字段,请检查profile是否有效")

# 格式化打印profile数据(方便查看字段结构)
print(json.dumps(data['profile'], indent=2))

额外小技巧

如果你不确定字段的嵌套层级,可以用json.dumps(data, indent=2)把整个响应格式化打印出来,这样就能清晰看到所有字段的位置,下次找字段就不会踩坑啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 18:02:25