Ich bin nicht sicher, ob ich den Zweck der flask.jsonify
Methode verstehe . Ich versuche daraus einen JSON-String zu machen:
data = {"id": str(album.id), "title": album.title}
Aber was ich bekomme, json.dumps
unterscheidet sich von dem, was ich bekomme flask.jsonify
.
json.dumps(data): [{"id": "4ea856fd6506ae0db42702dd", "title": "Business"}]
flask.jsonify(data): {"id":…, "title":…}
Natürlich muss ich ein Ergebnis json.dumps
erzielen , das eher dem entspricht, was zurückkommt. Was mache ich falsch?
jsonify()
behandelt jetzt Listen. Siehe dieses Commit .Du kannst tun:
oder
quelle
Das ist
flask.jsonify()
Das verwendete
json
Modul ist entwedersimplejson
oderjson
in dieser Reihenfolge.current_app
ist ein Verweis auf dasFlask()
Objekt, dh Ihre Anwendung.response_class()
ist ein Verweis auf dieResponse()
Klasse.quelle
Die Wahl des einen oder anderen hängt davon ab, was Sie vorhaben. Soweit ich weiß:
jsonify ist nützlich, wenn Sie eine API erstellen, die jemand abfragt und als Gegenleistung json erwartet. Beispiel: Die REST-Github-API könnte diese Methode verwenden, um Ihre Anfrage zu beantworten.
Bei Dumps geht es mehr darum, Daten / Python-Objekte in JSON zu formatieren und in Ihrer Anwendung daran zu arbeiten. Zum Beispiel muss ich ein Objekt an meine Darstellungsebene übergeben, in der Javascript Diagramme anzeigt. Sie füttern Javascript mit dem von Dumps generierten Json.
quelle
Erwägen
jetzt
ergibt {'fld': 'hallo'} und
gibt
quelle