[Solved]-Object of type 'TypeError' is not JSON serializable

12👍

Django cannot convert Exception object to JSON format and raise error. To fix it you should convert error to string and pass result to response:

except Exception as e:
    return Response(str(e), status=status.HTTP_404_NOT_FOUND, template_name=None, content_type=None)

0👍

first

import json
from django.http import HttpResponse

Change line

  return Response(result, status=status.HTTP_200_OK, template_name=None, content_type=None)

for this

   return HttpResponse(json.dumps(result),content_type="application/json")

or use

 from django.http import JsonResponse

 return JsonResponse(json.dumps(result))

0👍

Python exceptions are not json serializable.
It’s failing in try because of some connection or content unavailable issue, then going into except block where you are passing exception e as it is to Response() so that is creating the issue. Solution – check the URL and also in except block convert exception e to string and pass to Response(str(e), status=status.HTTP_404_NOT_FOUND, template_name=None, content_type=None).

-2👍

except Exception as exception:
    return HttpResponse(exception)

Leave a comment