gpt4 book ai didi

python - 尝试使用 Python 通过 API 访问数据时出错

转载 作者:太空宇宙 更新时间:2023-11-03 23:53:24 24 4
gpt4 key购买 nike

尝试使用 API 访问有关服务器存储的详细信息时出现错误。我想提取 json 中的 state 备份状态:

{
"storage": {
"access": "private",
"backup_rule": {},
"backups": {
"backup": []
},
"license": 0,
"part_of_plan": "",
"servers": {
"server": [
""
]
},
"size": ,
"state": "online",
"tier": "",
"title": "",
"type": "",
"uuid": "",
"zone": ""
}
}

当我执行这段代码时:

bkpdet = requests.get('https://fffff.com/1.2/storage/08475', auth=HTTPBasicAuth('login', 'pass'))
bkpdet_json = bkpdet.json()
datastg = bkpdet.json()
print(datastg)
for sts in datastg['storage']:
bkpsts = sts['state']
print(bkpsts)

我收到这个错误:

Traceback (most recent call last):
File "<stdin>", line 2, in <module>
TypeError: string indices must be integers

如何访问状态*?整个想法是最后使用此代码获取有关状态的信息:

if bkpsts == "online":
print('Backup has been created.')
else bkpsts == "backuping":
print('Backup creation is in progress.')
else:
print(bkpdet.status_code)

我一直在搜索,但仍然找不到这里有什么问题。

最佳答案

当您使用时:

for sts in datastg['storage']:

sts 将是一个字符串键。你试图把它当作一本字典。

如果你只需要state值,你可以直接访问它:

datastg['storage']['state']

如果要遍历storage下的所有键值对,可以对key和value都使用items()

for key, value in datastg['storage'].items():
print(key,":", value)

关于python - 尝试使用 Python 通过 API 访问数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58609001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com