Wie man db.Model Objekte zu json serialisiert?
Bei der Verwendung
from django.utils import simplejson
auf Objekte der Typen, die sich aus db.Model
es exceptions wirft. Wie um dies zu umgehen?
InformationsquelleAutor der Frage Jader Dias | 2010-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok - meine python nicht groß sind, so dass jede Hilfe wäre sehr geschätzt - Sie brauchen nicht zu schreiben-parser - das ist die Lösung:
fügen Sie dieses Dienstprogramm Klasse http://code.google.com/p/google-app-engine-samples/source/browse/trunk/geochat/json.py?r=55
speichern unter json.py
VERWENDEN
Dies ist die browser-Antwort:
InformationsquelleAutor der Antwort spidee
Dem Beispiel von Jader Dias funktioniert gut für mein Anliegen, nach einigen twaeking. Entfernen Sie die encode-Methode, wie es enthält einen Zirkelbezug. Die bereinigte-Klasse sollte wie folgt Aussehen:
Als ich gespeichert hab, diese Klasse in einer Datei namens utils.py und wenn ich entsprechende importieren Sie Sie über
Dann habe ich nur call-utils.GqlEncoder().Kodieren(Ergebnisse), zum Beispiel:
Das Ergebnis sollte in etwa so Aussehen (ich habe einige line-feeds, um zu machen es ein bisschen leichter zu Lesen):
InformationsquelleAutor der Antwort John P
json nicht verwendet werden, zu serialisieren etwas mehr als die Basis-Typen wie dicts, Listen von ints/longs und strings (nicht umfassend). Zum Beispiel, auch diese einfachen Befehle funktionieren nicht:
Wenn Sie serialisieren möchten django Objekten, Sie beziehen sich auf den django-Dokumentation auf Serialisierungdie Ihre eigenen Bibliotheken, aber Sie tun Unterstützung von json.
InformationsquelleAutor der Antwort BrainCore
Da konnte ich nicht finden eine geeignete Lösung, die ich schrieb, sind meine eigenen, das ist nicht gerade ein JSON serializer, sondern ein Javascript-serializer
InformationsquelleAutor der Antwort Jader Dias
Aus, was ich verstehen kann - und ich bin neu in python - mit google app engine die Arbeit um zu serialisieren, das Modell-Objekt, um eine dictioanry python-Objekt und verwenden Sie dann einfache json-dump, es als ein json-string, das macht für mich keinen Sinn - vielleicht hat ja jemand kennen zu serialise zu einem ditionary (pickel?)
Jede Hilfe auf diesem würde HELFEN! nicht zu beeindruckt, dass die google app engine hat keine eingebaute Lösung für dieses.
InformationsquelleAutor der Antwort spidee