如何解析来自Python请求的JSON响应?

2024-05-13 18:00:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试解析使用Python请求库生成request时得到的response.text。例如:

def check_user(self):
    method = 'POST'
    url = 'http://localhost:5000/login'
    ck = cookielib.CookieJar()
    self.response = requests.request(method,url,data='username=test1&passwd=pass1', cookies=ck)
    print self.response.text

当我执行此方法时,输出为:

{"request":"POST /login","result":"success"}

我想检查"result"是否等于"success",忽略前面的内容。


Tags: textselfhttpurlresponserequestdefcheck
3条回答

manual建议:if self.response.status_code == requests.codes.ok:

如果不起作用:

if json.loads(self.response.text)['result'] == 'success':
   whatever()

我找到了另一个解决办法。不需要使用json模块。可以使用dict = eval(whatever)创建dict,并返回,例如,dict["result"]。我觉得它更优雅。然而,其他的解决方案也有效并且是正确的

由于输出response看起来是一个字典,您应该能够

result = self.response.json().get('result')
print(result)

把它打印出来

'success'

相关问题 更多 >