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


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)



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))


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).


except Exception as exception:
    return HttpResponse(exception)

Leave a comment