我想将JSON内容存储在文件中但使用漂亮的版本。
为了清楚起见,这是正常的JSON:
{"b":2, "a":1}
这是它的漂亮版本:
{
"b": 2,
"a": 1
}
Clojure有没有办法实现这个目标?
答案 0 :(得分:9)
使用找到的cheshire图书馆here 并使用generate-string函数并将pretty标志设置为true
示例
;; generate some JSON with pretty formatting
(generate-string {:foo "bar" :baz {:eggplant [1 2 3]}} {:pretty true})
;; {
;; "foo" : "bar",
;; "baz" : {
;; "eggplant" : [ 1, 2, 3 ]
;; }
;; }
答案 1 :(得分:4)
您可以使用内置的with-out-str
函数来捕获写入输出缓冲区的所有内容并将其存储为字符串。
(with-out-str (clojure.data.json/pprint your-map-or-whatever))