Ich habe die folgenden benutzerdefinierten Ausnahme-Handler in Django REST-Framework.Django Rest Framework-Antwort ist nicht JSON Serialisierung Fehler
class ErrorMessage:
def __init__(self, message):
self.message = message
def insta_exception_handler(exc, context):
response = {}
if isinstance(exc, ValidationError):
response['success'] = False
response['data'] = ErrorMessage("Validation error")
return Response(response)
Ich möchte ein JSON Ausgabe wie unten
gezeigt"success":false,
"data":{ "message" : "Validation error" }
Aber ich habe den Fehler TypeError: Object of type 'ErrorMessage' is not JSON serializable
. Warum ist eine Klasse so einfach wie ErrorMessage
über nicht JSON serialisierbar? Wie kann ich dieses Problem lösen?
Sie ordnen 'ErrorMessage' dem' response ['data'] '' zu. Klassenobjekte können nicht magisch zu python dict wechseln. Überprüfen Sie diesen Link: http://stackoverflow.com/questions/61517/python-dictionary-from-an-objects-fields Zum Konvertieren von Python-Klassenobjekte in dict. –