Charred provides a high-performance API for reading and writing JSON, following the same interface as clojure.data.json. You can parse JSON strings into Clojure maps and write Clojure maps to JSON strings. You can also provide a :key-fn to transform keys (e.g., converting strings to keywords).
(require '[charred.api :as charred])
;; Read JSON string into a map
(charred/read-json "{\"a\": 1, \"b\": 2}")
;; => {"a" 1, "b" 2}
;; Read JSON string with keyword keys
(charred/read-json "{\"a\": 1, \"b\": 2}" :key-fn keyword)
;; => {:a 1, :b 2}
;; Write a map to a JSON string
(charred/write-json-str {:a 1 :b 2})
;; => "{\"a\":1,\"b\":2}"