python - 无法格式化 JSON 数据
问题描述
下面是我从 API 调用中获得的示例 JSON 数据。但是当我尝试格式化 JSON 数据时,我做不到。
{
"jsonrpc": "2.0",
"result": [
{
"status": "3",
"name": "Windows",
"triggers": [
{ "triggerid": "11234" },
{ "triggerid": "5465" },
{ "triggerid": "56465" },
{ "triggerid": "56465" },
{ "triggerid": "54364" },
{ "triggerid": "564654" },
{ "triggerid": "564365" },
{ "triggerid": "5434" },
{ "triggerid": "54354" },
{ "triggerid": "5454" },
{ "triggerid": "5645" },
{ "triggerid": "543654" },
{ "triggerid": "546543" }
],
"items": [
{ "name": "connection check" },
{ "name": "Version of apache running" },
{ "name": "Average IOPS " },
{ "name": "Average wrtie speed" },
{ "name": "file in speed" }
],
"templateid": "456434",
"discoveries": []
},
{
"status": "3",
"name": "linux_server",
"triggers": [
{ "triggerid": "11234" },
{ "triggerid": "5465" },
{ "triggerid": "56465" },
{ "triggerid": "56465" },
{ "triggerid": "54364" },
{ "triggerid": "564654" },
{ "triggerid": "564365" },
{ "triggerid": "5434" },
{ "triggerid": "54354" },
{ "triggerid": "5454" },
{ "triggerid": "5645" },
{ "triggerid": "543654" },
{ "triggerid": "123543" }
],
"items": [
{ "name": "connection check" },
{ "name": "Version of docker running" },
{ "name": "Average IOPS " },
{ "name": "Average wrtie speed" },
{ "name": "file in speed" }
],
"templateid": "456434",
"discoveries": []
}
]
}
我的代码:
output = requests.post(url, data=apache_data, headers=headers)
content_out = json.loads(output.content)
content_out = json.dumps(content_out)
for key in content_out .items():
print(key)
错误:AttributeError: 'str' object has no attribute 'items'
我想要“ name":"windows"
............直到"discoveries": []}
作为一本字典。就像那样"name": "linux_server"
............直到"discoveries": []}
作为另一本字典......任何帮助将不胜感激。
解决方案
你在使用请求吗?您可以通过调用以字典形式访问 JSONoutput.json()
所以我认为使用您的代码,它看起来像这样:
output = requests.post(url, data=apache_data, headers=headers)
for result in output.json()['result']:
print(result['name'], result['status'], result['templateid'])
这是输出:
Windows 3 456434
linux_server 3 456434
在您的示例中,Windows
并且linux_server
是result
列表中的两个字典。
推荐阅读
- forms -
- python - 无法通过 Jenkins 声明式管道在 Docker 映像中作为代理进行 pip 安装
- php - 在 Woocommerce 结帐页面中使用 AJAX 和费用 API 的动态折扣
- xcode - Xcode Source Editor 选项未显示在 Extensions 中
- if-statement - 有条件的 gsub 动作
- aws-ebs - AWS EBS 预留定价
- css - 使 gmail 和 facebook 登录按钮内联
- python - 将字符串列转换为 apache 梁中的整数列?
- jquery - 有没有办法将 ejs 模板渲染为 ajax 调用?
- r - List creation with incremental values triggered by logical vector in R