2017-12-22 15 views
1

안녕하세요 저는 웹 사이트에서 JSON을 구문 분석 Clojure의를 사용하는 것을 시도하고있다, 나는- 정의되지 않은 오류

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

내 프로그램에서 JSON을 사용하려면 라인을 포함 할 필요가 있음을 읽었습니다. 나는이 줄을 실행할 때마다 그러나 나는 그것을 작동하지 않습니다 왜 아무 생각이 없거나 다른 뭔가가 있다면 나는 그것이 작동 얻을 포함해야이 오류

enter image description here

는 무엇입니까? 나는 JSON 파일을 소비하고 구문 분석하지만이 필요없이 (내가 아는 한 멀리) 할 수 없다는 것을 계획하고있다.

아이디어가 있으십니까?

그것은 아마 당신의 IDE에서 잘못된 오류 MSG입니다

+0

1.'ns' 매크로를 사용해야 할 것입니다. 사용하기가 조금 더 쉽습니다. 2. 파일의 전체 내용을'요구'합니까? – Carcigenicate

+0

그리고 전체 오류입니까? 더러운 IDE에서 쓰레기처럼 보입니다. – Carcigenicate

+0

@Carcigenicate 예 이것은 지금까지 전체 파일입니다. 그게 무슨 뜻입니까? 이론적으로 작동해야하기 때문에 비주얼 코드에 문제가 있는지 확실하지 않습니다. – broliverparker

답변

0

(나는 그것을 실행하는 Clojure의 확장 및 .lein REPL와 비주얼 스튜디오 코드를 사용하고 있습니다).

project.cljorg.clojure/data.json에 대한 추가 요구 사항이 있는지 확인

~ > 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}}) 

같은 새로운 디렉토리 demo을 만들려고. 그러면 코드가 작동합니다 :

~/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=>