How to pretty print JSON to a file in Clojure?

clojure, json, pretty-print

Solution

Use the cheshire library found here and use the generate-string function with the pretty flag set to true

Example

;; generate some JSON with pretty formatting
(generate-string {:foo "bar" :baz {:eggplant [1 2 3]}} {:pretty true})
;; {
;;   "foo" : "bar",
;;   "baz" : {
;;     "eggplant" : [ 1, 2, 3 ]
;;   }
;; }

Problem

I would like to store JSON content in files but using the pretty version. Just to be clear, this is the normal JSON: ``` {"b":2, "a":1} ``` This is the pretty version of it: ``` { "b": 2, "a": 1 } ``` Is there a way in Clojure to achieve this?

Original source