Seite 1 von 1

Python Date als JSon speichern..?

Verfasst: Mittwoch 25. Februar 2009, 12:19
von sirbender
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

Re: Python Date als JSon speichern..?

Verfasst: Mittwoch 25. Februar 2009, 12:28
von Leonidas
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.

Re: Python Date als JSon speichern..?

Verfasst: Mittwoch 25. Februar 2009, 12:38
von sirbender
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?

Re: Python Date als JSon speichern..?

Verfasst: Mittwoch 25. Februar 2009, 13:05
von Leonidas
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.