我有此请求代码:
url = endpoint + 'listSites.adm'
headers = { 'Content-Type': 'application/json' }
res = requests.get(url, headers=headers, auth=HTTPBasicAuth(admin, password), verify=False)
data = res.json()
print data['responseData']['sites']['name']
{u'sites': [{u'name': u'My Site', u'timestamp': 1541514223000, u'company': None, u'description': None, u'longitude': None, u'country': None, u'abbreviation': None, u'phone': None, u'ldapServiceName': None, u'address': None, u'latitude': None, u'creationDate': u'Tue, 06 Nov 2018 14:23:43 +0000', u'id': 1, u'uuid': u'bb1b7df3-af55-77a4-1047-489d0eb3f346'}]}
我要打印名称,但返回此错误:
TypeError: list indices must be integers, not str
我在做什么错了?
答案 0 :(得分:0)
如果返回的是json,通常是字典列表,因此以下内容应该有效。
data[0]['responseData']['sites']['name']
希望有帮助
答案 1 :(得分:0)
这就是我要使其正常工作的方法:
data ['responseData'] ['sites'] [0] ['name']
站点是一个数组,因此必须被索引。