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

如何从GitLab API的JSON响应提取指定值?解决AttributeError错误

解决GitLab API响应解析的AttributeError问题

你的问题根源很明确:代码里用.content获取了字节类型的响应内容,而json()是requests响应对象的方法,字节对象没有这个方法,所以报错。

修正步骤及代码:

  1. 先修正请求的语法错误,把headers正确作为requests.get的参数传入,不要和.content混淆。
  2. 不要直接取.content,保留完整的响应对象,调用它的json()方法解析数据。

修正后的代码:

def getCom():
    # 正确构造请求,传入URL和headers参数
    response = requests.get(
        "https://gitlab.com/api/v4/projects/..",
        headers={'PRIVATE-TOKEN': '.....'}
    )
    # 先检查请求是否成功(可选但建议)
    if response.status_code == 200:
        # 用响应对象的json()方法解析成字典
        resp_data = response.json()
        # 提取目标字段,注意:GitLab API实际字段是committer_name(双t),确认拼写
        commiter_name = resp_data.get("commiter_name")
        return commiter_name
    else:
        print(f"请求失败,状态码:{response.status_code}")
        return None

关键注意点:

  • 原代码的语法错误:你把headers的定义写在了.content的括号里,这会导致语法错误,同时错误地获取了字节内容,必须把headers作为requests.get的第二个参数传入。
  • 字段拼写:GitLab API中提交者名称的标准字段是committer_name(两个t),如果你的字段名拼写错误,即使解析成功也拿不到值,建议核对API文档返回的字段结构。
  • 用.get()提取字段比直接索引更安全,避免字段不存在时抛出KeyError。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:46:16