如何编写“如果响应主体支持JSON()-”

时间:2019-10-15 08:44:09

标签: json python-2.7 dictionary python-requests

所以我已经看了一段时间了,想不出办法。

我需要一种方法来知道是否可以在不触发回溯的情况下将响应主体转换为字典。

import requests
import json

session = requests.Session()

url = "www.something.com"
response = session.get(url=url)

if response.json():
    # et cetera

我可能会收到一个纯文本/文本响应正文,该正文仅显示“ OK”或其他字符串,并且需要一种识别差异的方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这是try / except块的完美用例:

try / except允许您“尝试”某些东西,如果它引发了except命令后面指定的类型的异常,它不会停止您的程序,而是静默地继续except块的内容。

请参阅:https://docs.python.org/2/tutorial/errors.html

import requests
import json

session = requests.Session()

url = "http://www.something.com"
response = session.get(url=url)

try:
    content = response.json()
except ValueError:
    # do whatever you want in case response can't be JSON()-able
    content = response.text

print(content)