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?
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?
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 ]
;; }
;; }
You can use the built-in with-out-str
function to capture anything written to the output buffer and store it as a string.
(with-out-str (clojure.data.json/pprint your-map-or-whatever))
© 2022 - 2024 — McMap. All rights reserved.
pprint
function in clojure.data.json looks like what you want. I suppose you can do the write on another thread if diverting*out*
is a problem. – Daunt