我是clojure编程的新手。我只是想知道,我怎么能打印我的json数据。 我试过这样:
user=> (clojure.pprint/pprint {"a": "apple", "b": "boy" "c": "cat"})
;; {"a": "apple", "b": "boy", "c": "cat"}
我希望我的输出看起来像
{"a": "apple",
"b": "boy",
"c": "cat"}
任何人都可以告诉我,如何获得json数据的pprint输出?
答案 0 :(得分:1)
您需要一个库[org.clojure / data.json" 0.2.6"],以便与json合作。
Examles:
(clojure.pprint/pprint (json/write-str {"a" "apple", "b" "boy" "c" "cat"}))
=> "{\"a\":\"apple\",\"b\":\"boy\",\"c\":\"cat\"}"
(clojure.pprint/pprint (json/read-str "{\"a\":\"apple\",\"b\":\"boy\",\"c\":\"cat\"}"))
=> {"a" "apple", "b" "boy", "c" "cat"}
答案 1 :(得分:0)
如果我理解正确,您希望在每个键值对之后使用换行符对数据进行格式化。如果是这样,我建议您查看clojure.pprint
提供的formatting options。也就是说,您可以将*print-right-margin*
设置为足够小的值,以强制每对显示在新行上。如果省略此绑定,pprint
将使用默认值72,并且任何大于该值的表单都应自动以这种方式格式化。
(binding [clojure.pprint/*print-right-margin* 16]
(clojure.pprint/pprint
{"a" "apple" "b" "boy" "c" "cat"}))
;; {"a" "apple",
;; "b" "boy",
;; "c" "cat"}