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

如何获取接口JSON响应而非响应状态码?打印仅返回200状态的问题咨询

解决requests调用Peakon接口仅返回状态码、无法获取JSON数据的问题

嘿,我懂你遇到的问题——用requests调用Peakon接口后,print(response)只输出<Response [200]>,压根看不到想要的JSON结构对吧?这是因为你打印的是Response对象本身,而不是接口返回的实际响应体内容。

下面给你具体的解决步骤和优化后的代码:

核心解决方法:使用response.json()解析响应

requests库的Response对象提供了json()方法,可以直接把符合JSON格式的响应体解析成Python字典/列表,这正是你需要的。

修改后的完整代码

headers = {
    'accept': 'application/json',
    'Authorization': 'Bearer 123456789',
}
params = (
    ('interval', 'month'),
)

# 发起请求
response = requests.get('https://api.peakon.com/v1/engagement/overview', headers=headers, params=params)

# 先验证请求是否成功
if response.status_code == 200:
    # 解析JSON响应
    json_response = response.json()
    # 现在就能看到完整的JSON结构了
    print(json_response)
else:
    print(f"请求出错啦,状态码: {response.status_code}")

额外的排查与优化技巧

  1. 处理JSON解析失败的情况:如果接口返回的不是合法JSON(虽然你设置了accept: application/json,但偶尔可能有意外),response.json()会抛出JSONDecodeError,可以加个异常捕获来排查:
try:
    json_response = response.json()
    print(json_response)
except ValueError as e:
    print(f"解析JSON失败: {str(e)}")
    # 打印原始响应内容,看看到底返回了什么
    print("原始响应内容:", response.text)
  1. 查看原始响应文本:如果不确定响应内容,也可以用response.text直接打印原始的响应字符串,方便排查格式问题。

简单来说,print(response)只是输出Response对象的基本状态信息,而response.json()才是获取并解析接口返回的JSON数据的正确方式~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:50:06