Ich versuche, eine Web-Crawler-Anwendung von .NET nach Python zu portieren. Er empfängt json Antworten ähnlich der folgenden:Deserialisieren von JSON-Datumsfeld in Python/Django
[
{
"Code": "AAA",
"Date": "/Date(1481875200000)/",
"Value": 12345.00
}
]
Dieses leicht von Newtonsoft Json deserialisiert werden konnte. Allerdings kann ich nicht scheinen dies deserialisieren mit Python gebaut in Json Decoder
from django.db import models
class ItemModel(models.Model):
code = models.CharField(max_length=5)
date = models.DateTimeField()
value = models.IntegerField(default=0)
import json
parsed_data = json.loads(json_data, encoding='utf-8')
new_model=ItemModel()
new_model.code = parsed_data["Code"]
new_model.date = parsed_data["Date"]
new_model.value = parsed_data["Value"]
new_model.save()
die
ValidationError: [u"'/Date(1481875200000)/' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]
bearbeiten gibt: Jetzt weiß ich, das einen String in einem Date-Time-Feld verursacht, weil der Zuordnung
Gibt es eine Möglichkeit, diese Daten mit dem Django-Modell zu analysieren? - Da ich keine Möglichkeit habe, die JSON-Antwort zu ändern. Ist dies auch der richtige Weg? wie der Code mir gegenüber intuitiv zu sein scheint.
Wenn ich versuche, dass es parst einfach ' "/ Date (1481875200000) /"' als String und nie Parsen ein beliebiges Datum zu tun versucht (wie man erwarten würde, JSON hat keinen Datums-Datentyp. Also machst du etwas extra, was du hier nicht zeigst. – RemcoGerlich
Hmm macht Sinn, ich habe tatsächlich versucht, dieses Feld zu einem Django-Modell DateTime-Feld zu setzen, so dass dies wahrscheinlich durch Festlegen einer Zeichenfolge darauf verursacht wird. Ich werde die Frage bearbeiten. – Sloth