2017-12-22 5 views
1

Hallo Ich versuche, Clojure zu verwenden JSON von einer Website zu analysieren, ich habe gelesen, dass ich die LinieVerwendung von JSON mit Clojure - Undefinierter Fehler

(require '[clojure.data.json :as json]) 

verwenden JSON in mein Programm aufnehmen müssen. Allerdings, wenn ich diese Linie laufen erhalte ich diesen Fehler

enter image description here

Ich habe keine Ahnung, warum es nicht oder funktionieren, wenn es etwas anderes muss ich schließen, um es Arbeit? Ich plane Slurp zu verwenden, um eine JSON-Datei zu konsumieren und es zu analysieren, kann es aber nicht tun, ohne dies zu erfordern (soweit ich weiß)

Irgendwelche Ideen?

(I Visual Studio-Code mit der Clojure Erweiterung und .lein repl verwenden, um sie auszuführen) von Ihrem IDE

+0

1. Sie sollten wahrscheinlich benötigen, die 'ns' Makro verwenden. Es ist ein wenig einfacher zu benutzen. 2. Ist der gesamte Inhalt der Datei "erforderlich"? – Carcigenicate

+0

Und ist das der ganze Fehler? Sieht eher wie Müll aus einer "schmutzigen" IDE aus. – Carcigenicate

+0

@Carcigenicate Ja, das ist die ganze Datei bisher. Was würde das bedeuten? Ich bin mir nicht sicher, ob es ein Problem mit Visual Code ist, weil es in der Theorie funktionieren sollte – broliverparker

Antwort

0

Es ist wahrscheinlich ein schlechter Fehler msg.

Trying die Schaffung eines neuen dir demo wie

~ > mkdir tmp-0729 
~ > cd tmp-0729 
~/tmp-0729 > lein new app demo 
Generating a project called demo based on the 'app' template. 
~/tmp-0729 > cd demo 

    <add a line to project.clj in editor> 

~/tmp-0729/demo > cat project.clj 
(defproject demo "0.1.0-SNAPSHOT" 
    :description "FIXME: write description" 
    :url "http://example.com/FIXME" 
    :license {:name "Eclipse Public License" 
      :url "http://www.eclipse.org/legal/epl-v10.html"} 
    :dependencies [ 
       [org.clojure/clojure "1.8.0"] 
       [org.clojure/data.json "0.2.6"] 
    ] 
    :main ^:skip-aot demo.core 
    :target-path "target/%s" 
    :profiles {:uberjar {:aot :all}}) 

stellen Sie sicher, Sie haben den zusätzlichen Bedarf an org.clojure/data.json in project.clj. Dann sollte Ihr Code arbeiten:

~/tmp-0729/demo > lein repl  
nREPL server started on port 40638 on host 127.0.0.1 - nrepl://127.0.0.1:40638 
REPL-y 0.3.7, nREPL 0.2.12 
Clojure 1.8.0 
Java HotSpot(TM) 64-Bit Server VM 1.8.0_144-b01 
    Docs: (doc function-name-here) 
      (find-doc "part-of-name-here") 
    Source: (source function-name-here) 
Javadoc: (javadoc java-object-or-class-here) 
    Exit: Control+D or (exit) or (quit) 
Results: Stored in vars *1, *2, *3, an exception in *e 

demo.core=> (require '[clojure.data.json :as json]) 
nil 
demo.core=> (json/write-str {:a 1 :b 2}) 
"{\"a\":1,\"b\":2}" 
demo.core=> (json/read-str "{\"a\":1,\"b\":2}") 
{"a" 1, "b" 2} 
demo.core=> 
Verwandte Themen