如何从Python请求中解析JSON响应?

hor*_*rro 13 python python-requests

我正在尝试解析response.text当我request使用Python Requests库时得到的内容.例如:

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
Run Code Online (Sandbox Code Playgroud)

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

{"request":"POST /login","result":"success"}
Run Code Online (Sandbox Code Playgroud)

我想检查是否"result"等于"success",忽略之前的任何事情.

ASh*_*lly 13

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

如果这不起作用:

if json.loads(self.response.text)['result'] == 'success':
   whatever()
Run Code Online (Sandbox Code Playgroud)


小智 5

由于输出response似乎是字典,因此您应该可以

result = self.response.json().get('result')
print(result)
Run Code Online (Sandbox Code Playgroud)

并打印出来

'success'
Run Code Online (Sandbox Code Playgroud)