Ich habe eine UUID und ein Java-Util-Date, die Literale als #uuid und #inst erhalten, wie gebe ich die Uuid oder das Datum an, ohne auf die Literale selbst zu verweisen? CLJ-json nicht mag den Umgang mit ihnen und landet einen Fehler zu werfen, wenn ich generieren-string versuchen#inst und #uuid Literale in clojure entfernen
{:timestamp (java.util.Date.)}
;{:timestamp #inst "2013-05-17T13:45:24.095-00:00"}
;but as a string the date changes format
{:timestamp (str (java.util.Date.))}
{:timestamp "Fri May 17 09:45:44 EDT 2013"}
(json/generate-string {:uuid (java.util.UUID/randomUUID)})
;#uuid "d66cf77f-13b6-4291-95cd-c2bb40aa36b3"
java.lang.Exception: Cannot generate d66cf77f-13b6-4291-95cd-c2bb40aa36b3
JsonExt.java:96 clj_json.JsonExt$Generator.generate
JsonExt.java:83 clj_json.JsonExt$Generator.generate
JsonExt.java:103 clj_json.JsonExt.generate
core.clj:18 clj-json.core/generate-to-writer
core.clj:26 clj-json.core/generate-string
NO_SOURCE_FILE:32 myapp.handler/eval8390
, die für die UUID arbeitet machen die Arbeit könnte aber für Date es tatsächlich ändert das Datumsformat! Ich werde Frage aktualisieren, danke – scape
@scape Aktualisierte meine Antwort mit Datumsformatierung. –
vielen Dank dafür, ich hatte gehofft, die Formatierung für den Fall, dass ich es für den Vergleich in clojure verwenden möchte. Ich bin neugierig, warum es das Format ändert, wenn in eine Zeichenfolge konvertiert – scape