不确定这是否可能,但如果是这样,那就太棒了。
我的代码是:
url = "https://*myDomain*.zendesk.com/api/v2/organizations/*{id}*/tags.json"
req = urllib2.request(url)
password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, url, 'example@domain.com', 'password')
auth_manager = urllib2.HTTPBasicAuthHandler(password_manager)
opener = urllib2.build_opener(auth_manager)
urllib2.install_opener(opener)
response = urllib2.urlopen(req)
tagsA = response.read()
print tagsA
现在返回的数据是:
{"tags":[]}
API调用本身返回以下内容
{
tags: []
}
然而,尝试访问列表并不起作用,因为它似乎将tagsA视为字符串。我希望将它作为一个列表对待,以便我可以检查是否有标签'是空的。
任何帮助都将非常感谢!!!
答案 0 :(得分:2)
您需要通过json.loads()
将json字符串加载到python字典中import json
...
tagsA = json.loads(response.read())
print tagsA['tags']
或者,将response
传递给json.load()(感谢@ J.F.Sebastian')
tagsA = json.load(response)
print tagsA['tags']
答案 1 :(得分:0)
您需要json.load
(或json.loads
)回复正文。
但是,如果您要在Python中进行任何类型的半复杂HTTP调用(身份验证,cookie等),您应该使用Kenneth Reitz的出色Requests库({{ 3}})而不是urllib调用。您的整个代码将成为:
import requests
response = requests.get(url, auth=("my_username", "my_password"))
tagsA = response.json()