如何从 JSON 格式中获取值

How to get value from JSON format

我正在使用 Python 请求模块来获得 API 响应。响应应为 JSON 格式。如何从响应中检索特定值?

API 响应示例:

{
id: 2337975,
sha: "eac6910f89883110e673db27456b67f542df6d75",
ref: "mail-gun",
status: "manual",
created_at: "2021-03-01T09:15:02.409Z",
updated_at: "2021-03-01T09:19:14.983Z",
web_url: "https://gitlab.com/optimus/optimus-ci/-/pipelines/2337975"
}

从这里我想检索 ID :2337975 分配给 Python 中的变量。

这是我的代码

url = f'https://gitlab.com/api/v4/projects/{pid}/pipelines?updated_after={update_after}&ref={branch}&status=manual'    
headers = {'Authorization' : 'Bearer xxxxxxxx'} 
response = requests.get(url, headers=headers)

output = json.loads(response.text)
print(output)

我可以通过print(output)打印整个JSON格式,但我只想得到一个Id值

有人可以帮忙吗?

改变这个:

output = json.loads(response.text)

为此:(使用 json 函数您可以接收字符串格式的 json 响应) 将响应加载到 python dictionary

response_json = json.loads(response.json())

并从响应字典中访问 id

variable = response_json["id"]

您应该将此 JSON 代码保存在 .json 文件中,然后您可以打开它,加载它,然后使用变量 ["id"]。

解析 json 并使用 id 作为 json 中的键来提取。

loaded_json = json.loads(json_data)
    for x in loaded_json:
        print("%s: %d" % (x, loaded_json[id]))

由于 json 的返回值是一个对象(JavaScript 对象表示法),您可以这样对待它,只需像其他人指出的那样使用 [] 表示法解构对象 response_json["id"]

我用一种天真的方法解决了这个问题。这是将对象转换为 JSON > python list > python dictionary

response = requests.get(url, headers=headers, proxies=proxyDict)
response_list = response.json()
response_dict = response_list[0]
print(response_dict["id"])