Das Erstellen von JSON-Antworten ist beim Erstellen von REST-APIs oder dynamischen Webanwendungen unerlässlich. Hier ist ein Problem, mit dem ein Entwickler konfrontiert ist, der versucht, ein serverseitiges Ajax-Skript in eine Django HttpResponse zu konvertieren:
Das Problem, das beim Konvertieren eines serverseitigen Ajax-Skripts in eine Django HttpResponse auftritt, betrifft Folgendes: eine Diskrepanz zwischen der erwarteten JSON-Ausgabe und der aktuellen Implementierung. Der Django-Code verwendet simplejson zum Codieren einer Python-Liste, was zu einer falschen JSON-Struktur führt.
Um dieses Problem zu beheben, wird empfohlen, ein Python-Wörterbuch zur Darstellung von JSON-Daten zu verwenden . Wörterbücher eignen sich besser für Schlüssel-Wert-Paare, die besser zur JSON-Struktur passen. Hier ist ein Beispiel:
import json from django.http import HttpResponse response_data = {} response_data['result'] = 'error' response_data['message'] = 'Some error message'
Vor Django 1.7 konnten JSON-Antworten erstellt werden mit:
return HttpResponse(json.dumps(response_data), content_type="application/json")
In Django 1.7 und höher Der empfohlene Ansatz ist die Verwendung der JsonResponse-Klasse:
from django.http import JsonResponse return JsonResponse({'foo': 'bar'})
Durch die Verwendung eines Wörterbuchs und der entsprechenden Django-Methode wird sichergestellt, dass die JSON-Antwort ordnungsgemäß formatiert ist und der erwarteten Ausgabe entspricht.
Das obige ist der detaillierte Inhalt vonWie erstelle ich JSON-Antworten in Django, insbesondere bei der Konvertierung von serverseitigen Ajax-Skripten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!