Я хотел бы сохранить некоторые тестовые данные в файл и прочитать его снова в своих тестах. Данные представляют собой последовательность карт Clojure, одним из свойств которых является дата/время clj-time
(org.joda.time.DateTime
). Когда я пишу значение в файл (с spit
), он сериализуется как #<DateTime 2014-10-03T12:57:15.000Z>
. Когда я пытаюсь прочитать его обратно (с slurp
), я получаю:Clojure: сериализация и синтаксический анализ даты/времени в/из файла?
RuntimeException Unreadable form clojure.lang.Util.runtimeException (Util.java:221)
Я думаю, что это не удивительно, так как без дополнительной информации, которую я не понимаю, как он будет знать, как разобрать DateTime
. Есть ли способ прочитать эти значения и правильно ли они разбираться или я должен их сериализовать как строки и проанализировать их вручную, когда я их прочитаю?
Вам нужно сохранить поле хронологии из 'DateTime'? Это сделает вашу задачу намного сложнее, если вы это сделаете. – Alex
К счастью, нам это не нужно. Так или иначе, это всего лишь тестовая арматура, поэтому мы можем быть весьма конкретными в отношении того, что мы делаем и не поддерживаем. –