std.json

+default-mapper+

+keyword-case-mapper+

+keyword-js-mapper+

+keyword-mapper+

+keyword-spear-mapper+

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}

ReadValue

protocol

members

-read-value

(-read-value this mapper)

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-pp

added in 4.0

(write-pp object)(write-pp object mapper)

pretty print json output

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}”

WriteValue

protocol

members

-write-value

(-write-value this value mapper)