Skip to main content

Parse JSON

Problem

How do you parse a JSON string into Clojure data structures?

Solution

Use a JSON library like jsonista (recommended) or cheshire:

(require '[jsonista.core :as json])

(json/read-value "{\"name\": \"Clojure\", \"version\": 1.12}")
;; => {"name" "Clojure", "version" 1.12}

;; With keyword keys:
(json/read-value "{\"name\": \"Clojure\"}" json/keyword-keys-object-mapper)
;; => {:name "Clojure"}

Discussion

jsonista is built on Jackson and is the fastest JSON library for Clojure. Add it to your deps.edn:

jsonista/jsonista {:mvn/version "0.3.13"}