2016-07-14 10 views
0

Ich bin neu in Clojure Programmierung. Ich möchte nur wissen, wie ich meine JSON-Daten drucken kann. ich so versucht:Wie kann ich Json-Daten in clojure drucken?

user=> (clojure.pprint/pprint {"a": "apple", "b": "boy" "c": "cat"}) 
;; {"a": "apple", "b": "boy", "c": "cat"} 

ich meine Ausgabe möchte wie

{"a": "apple", 
    "b": "boy", 
    "c": "cat"} 

mir sagen, Kann jemand aussehen sollte, Wie kann ich pprint Ausgabe von json Daten?

+3

Ich verstehe nicht; Keines der Daten in Ihrer Frage ist ein gültiger JSON. –

Antwort

1

Sie benötigen eine Bibliothek [org.clojure/data.json "0.2.6"], mit json zu arbeiten.

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"} 
0

Wenn ich richtig bin zu verstehen, wollen Sie Ihre Daten mit Zeilenumbrüchen nach jedem Schlüssel-Wert-Paar formatiert werden. Wenn ja, würde ich vorschlagen, dass Sie in die formatting options von clojure.pprint bereitgestellten Blick. Sie können nämlich *print-right-margin* auf einen ausreichend kleinen Wert setzen, damit jedes Paar in einer neuen Zeile erscheint. Wenn Sie diese Bindung weglassen, verwendet pprint den Standardwert von 72, und jedes Formular, das größer ist, sollte auf diese Weise automatisch formatiert werden.

(binding [clojure.pprint/*print-right-margin* 16] 
    (clojure.pprint/pprint 
    {"a" "apple" "b" "boy" "c" "cat"})) 

;; {"a" "apple", 
;; "b" "boy", 
;; "c" "cat"} 
Verwandte Themen