Python Date als JSon speichern..?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sirbender
User
Beiträge: 5
Registriert: Dienstag 9. September 2008, 11:08

Hi,

Ich will ein Datum in Python als JSon String speichern. Hat jemand ein kleines Beispiel wie man das macht?

Kann man den resultierenden JSon String leicht in ein Java-Objekt umwandeln? Was fuer eine Klasse erhalet das resultierende Java-Date-Objekt?

Auch hier waere ich fuer ein kleine Java-Beispiel dass diese Rueckwandlung vorfuehrt sehr dankbar.

Danke,
sb
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sirbender hat geschrieben:Ich will ein Datum in Python als JSon String speichern. Hat jemand ein kleines Beispiel wie man das macht?
JSON spezifiziert keinen Datums-Typ. Daher steht es dir frei wie du ihn verschickst: sei es als String im ISO-Format, als String in ctime-Format oder als Seconds since Epoch-float.
sirbender hat geschrieben:Kann man den resultierenden JSon String leicht in ein Java-Objekt umwandeln? Was fuer eine Klasse erhalet das resultierende Java-Date-Objekt?
Je nachdem was du für ein format wählst geht das einfacher oder schwerer. Schau doch mal in die Java-Dokumentation welche Datumsformate Java von Haus aus einlesen kann und speichere aus in diesem Format.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
sirbender
User
Beiträge: 5
Registriert: Dienstag 9. September 2008, 11:08

Leonidas hat geschrieben:
sirbender hat geschrieben:Ich will ein Datum in Python als JSon String speichern. Hat jemand ein kleines Beispiel wie man das macht?
JSON spezifiziert keinen Datums-Typ. Daher steht es dir frei wie du ihn verschickst: sei es als String im ISO-Format, als String in ctime-Format oder als Seconds since Epoch-float.
sirbender hat geschrieben:Kann man den resultierenden JSon String leicht in ein Java-Objekt umwandeln? Was fuer eine Klasse erhalet das resultierende Java-Date-Objekt?
Je nachdem was du für ein format wählst geht das einfacher oder schwerer. Schau doch mal in die Java-Dokumentation welche Datumsformate Java von Haus aus einlesen kann und speichere aus in diesem Format.
Danke.

Ich nehme mal an ich wuerde dann eine Library wie simpleJSon (habe Python 2.5) und eine weitere fuer Java (irgend eine Empfehlung) nutzen um Daten-Objekte in JSon Strings zu verwandeln bzw. diese aus JSon Strings zu erstellen, richtig?

Wie kann ich dieser library, z.B. im Falle von SimpleJSon begreifbar machen, dass es den String in ein Python date-Objekt umwandelt?
Bzw. wenn ich ein Python date Objekt habe und daraus ein JSon String schreiben will - wie entscheide ich was SimpleJSon ausschreibt?

Vielleicht weisst du ja auch wie man sowas in Java macht?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

sirbender hat geschrieben:Ich nehme mal an ich wuerde dann eine Library wie simpleJSon (habe Python 2.5) und eine weitere fuer Java (irgend eine Empfehlung) nutzen um Daten-Objekte in JSon Strings zu verwandeln bzw. diese aus JSon Strings zu erstellen, richtig?
Ja. Aber Daten würde ich vor dem serialisieren in Strings wandeln. Man könnte warscheinlich simplejson so aufbohren dass man auch direkt datetime-Objekte serialisiert bekommt, aber das ist vermutlich den Aufwand nicht wert.

Eine Java-Inplementation kann ich dir nicht empfehlen, auf JSON.org gibt es aber eine umfangreiche Liste. Da müsste ich sie selbst mal ausprobieren und für Java ist mir meine Freizeit zu schade. Probier einfach mal ein paar aus. Warscheinlich unterscheiden sie sich sowieso nicht allzusehr voneinander.
sirbender hat geschrieben:Wie kann ich dieser library, z.B. im Falle von SimpleJSon begreifbar machen, dass es den String in ein Python date-Objekt umwandelt?
Indem du den String als Datum parst.
sirbender hat geschrieben:Bzw. wenn ich ein Python date Objekt habe und daraus ein JSon String schreiben will - wie entscheide ich was SimpleJSon ausschreibt?
Indem du das Datum als String an simplejson übergibst.

Wie oben erwähnt könntest du vermutlich simplejson um einen Encoder und Decoder erweitern der automatisch Date-Objekte in Strings und Strings in Date-Objekte konvertiert aber da das in JSON nicht spezifiziert ist wäre das eine propietäre Erweiterung und als solches vermutlich nicht sonderlich sinnvoll. Aber wenn es dich interessiert kannst du ja mal reinschauen wie die Encoder und Decoder-Klassen in JSON funktionieren.
sirbender hat geschrieben:Vielleicht weisst du ja auch wie man sowas in Java macht?
Analog. Datum in String konvertieren und auf der anderen Seite String in Datum konvertieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten