Clojure's transit не поддерживает формат времени Joda из коробки. Как добавить поддержку записи для org.joda.time.DateTime
?Custom Transit writer для Joda время в Clojure
6
A
ответ
7
Добавьте эту функцию:
(def joda-time-writer
(transit/write-handler
(constantly "m")
#(-> % coerce/to-date .getTime)
#(-> % coerce/to-date .getTime .toString)))
И использовать его как это:
(transit/writer out :json
{:handlers {org.joda.time.DateTime joda-time-writer}})
0
Чтобы получить эту работу с кольцевым промежуточным форматом, сделать это, используя функцию joda-time-writer
отправил Давид J.
(defn wrap-format [handler]
(let [transit-opts {:handlers {org.joda.time.DateTime
joda-time-writer}}]
(wrap-restful-format handler
{:response-options
{:transit-json transit-opts
:transit-messagepack transit-opts}})))
Это объясняется более подробно здесь: http://increasinglyfunctional.com/2014/09/02/custom-tra nsit-writers-clojure-joda-time/ –
Кажется, работает со мной @ KendallB? –
Откуда берется «выход»? –