python - 如何将来自浏览器的 JSON 响应保存到 python 变量或文件中
问题描述
我是 python 和 api 查询的新手。但是,我在这个过程中学习 python 自动化。在这里请求您的帮助。
我有一个 SonarQube API 调用,通过它我可以在浏览器上获取一些指标或值作为 JSON 响应。我阅读了 curl 或通过 python 中的请求模块,我们将能够将响应下载到变量或文件中。我尝试了多少,我无法通过程序完成。现在,我正在将它硬编码在一个变量中并继续我的下一步。有人可以在这里帮助我。
我使用的查询:
https://sonar.com:9000/sonar/api/measures/component?component=abcdef&branch=test&metricKeys=ncloc
我在浏览器上得到这样的 JSON 响应:
"component": {
"id": "AXK4GYajYOT4RM44Ji",
"key": "abcdef",
"name": "test",
"qualifier": "TRK",
"measures": [
{
"metric": "ncloc",
"value": "100000"
}
],
"branch": "test"
}
}
我的意图是将所有这些存储在 python 变量中。
解决方案
如果您使用requests
包,您可以将响应存储在data
变量中,如下所示:
import requests
params = {'component': 'abcdef', 'branch': 'test', 'metricKeys': 'ncloc'}
r = requests.get('https://sonar.com:9000/sonar/api/measures/component', params=params)
data = r.json()
print(data)
如果您想将其存储为JSON
文件:
import json
with open('data.json', 'w') as f:
json.dump(data, f, indent=2)
推荐阅读
- vb.net - 粘贴到 RichTextBox 或其他解决方案时调整图像大小?
- python - Pandas Numpy np.where 处理空值
- javascript - 打字稿导入返回“找不到模块”
- node.js - 节点http没有incomingMessage
- javascript - 使用 jQuery 或 JavaScript 检查复选框值
- angular - Keycloak-angular 获取其他客户端的令牌
- reactjs - Echart 配置不允许我在图例符号中居中图例文本
- scala - 如果下游仍在工作,如何在 Akka Streams 中为下游删除消息
- oracle - EF Core Code First Oracle - 无法将现有列设置为空
- apama - 将资本市场框架捆绑包添加到 apama_project