diff --git a/requests/models.py b/requests/models.py index 99729442..342d3e49 100644 --- a/requests/models.py +++ b/requests/models.py @@ -1048,10 +1048,14 @@ class Response(BaseResponse): # a best guess). encoding = guess_json_utf(self.content) if encoding is not None: - return json.loads(self.content.decode(encoding)) - - return json.loads(self.text or self.content) - + try: + return json.loads(self.content.decode(encoding)) + except (ValueError, UnicodeDecodeError): + pass + try: + return json.loads(self.text or self.content) + except ValueError: + return None @property def links(self):