Я новичок ie с Clojure, и я пытаюсь распечатать вывод EDN в допустимый формат JSON, используя пользовательский кодировщик Cheshire для классов, определенных в java.
My EDN file:
{:xyz #XyzBuilder "testString"}
Clojure code:
(defn getXyz [str]
(.getXyz (XyzBuilder.) str)
)
(defn custom-readers []
{'xyz/builder getXyz}
)
(add-encoder com.java.sample.Xyz
(fn [c jsonGenerator]
(.writeString jsonGenerator (str c))))
(edn/read-string
{:readers (custom-readers)}
(slurp filename)
)
Это приводит к выводу ниже :
{"xyz":"Xyz(sampleString=testString)"}
Я хочу напечатать его в правильном формате JSON, как показано ниже. Как мне этого добиться?
{"xyz":{"sampleString":"testString"}}
Заранее спасибо!