std.json
clojure-module
added in 3.0
(clojure-module {:keys [encode-key-fn decode-key-fn encoders date-format], :or {encode-key-fn true, decode-key-fn false}})adds serializers for clojure objects
(clojure-module {}) => com.fasterxml.jackson.databind.module.SimpleModule
object-mapper
added in 3.0
(object-mapper)(object-mapper options)creates an object-mapper for json output
(object-mapper {}) => com.fasterxml.jackson.databind.ObjectMapper
read
added in 3.0
(read object)(read object mapper)reads json as clojure data
(read “{"a":1,"b":2}”) => {“a” 1, “b” 2}
sys:resource-json
added in 4.0
(sys:resource-json path)returns cached json map of on a resource
write
added in 3.0
(write object)(write object mapper)writes clojure data to json
(write {:a 1 :b 2}) => “{"a":1,"b":2}”
write-bytes
added in 3.0
(write-bytes object)(write-bytes object mapper)writes clojure data to json bytes
(String. (write-bytes {:a 1 :b 2})) => “{"a":1,"b":2}”
write-to
added in 3.0
(write-to sink object)(write-to sink object mapper)writes clojure data to a sink
(def -out- (java.io.ByteArrayOutputStream.))
(write-to -out- {:a 1 :b 2})
(.toString ^java.io.ByteArrayOutputStream -out-) => “{"a":1,"b":2}”