当我要查找的多个“节点”时,我能够解析json ressponse,但是当API仅返回一个节点时,我会收到消息“字符串索引必须为整数”。 这是我的代码,使用json.loads()从字符串将其转换后,将其传递给字典:
import requests, requests.auth
import json
import os
def parseSchedule(dict):
i = 0
for item in dict['reservations']['reservation']:
print(item['event_start_dt'])
i += 1
我已经简化了json响应,以表明这可行:
{
"reservations": {
"reservation": [{
"event_start_dt": "2019-11-27T12:40:00-08:00"
}, {
"event_start_dt": "2019-11-27T16:10:00-08:00"
}]
}
}
这会引发错误“字符串索引必须为整数”:
{
"reservations": {
"reservation": {
"event_start_dt": "2019-11-26T08:30:00-08:00"
}
}
}
我研究了.items(),其中尝试输入键和值,但到目前为止仍未成功。
答案 0 :(得分:0)
您可以使用以下方法做到这一点:
#If it is a list:
if str(type(dict["reservations"]["reservation"])) == "<class 'list'>":
for i in range(len(dict["reservations"]["reservation"])):
print(dict["reservations"]["reservation"][i]["event_start_dt"])
else: #If it is not a list
print(dict['reservations']['reservation']['event_start_dt'])