I'm trying to do a simple print-json, and am getting a ClassCastException in
the data.json library. I'm using [org.clojure/clojure "1.3.0-beta1"] and
[org.clojure/data.json "0.1.0"]. So…
*> lein repl *
*…*
*user => (require 'clojure.data.json)*
*nil *
*
*
*user => (clojure.data.json/print-json "tim")*
*ClassCastException java.io.OutputStreamWriter cannot be cast to
java.io.PrintWriter clojure.data.json/write-json-string (json.clj:229)*
*
*
*user=> (clojure.data.json/print-json [1 2 3]) *
*ClassCastException java.io.OutputStreamWriter cannot be cast to
java.io.PrintWriter clojure.data.json/write-json-array (json.clj:254)*
*
*
*user => (clojure.data.json/print-json { :a { :aa "b" } } ) *
*ClassCastException java.io.OutputStreamWriter cannot be cast to
java.io.PrintWriter clojure.data.json/write-json-object (json.clj:238)*
Seems fairly straightforward (I've also tried on lists, nested hashes, etc).
If I look at the source for
json:229<https://github.com/clojure/data.json/blob/master/src/main/clojure/clojure/data/json.clj>
,
the 'out' variable looks to be a PrintWriter (and my local source version is
the same). And a stacktrace gives exactly that location
*user=> (. *e printStackTrace)*
*java.lang.ClassCastException: java.io.OutputStreamWriter cannot be cast to
java.io.PrintWriter*
* at clojure.data.json$write_json_string.invoke(json.clj:229)*
* at
clojure.data.json$eval108$fn__109$G__99__118.invoke(json.clj:201)*
* at clojure.data.json$print_json.doInvoke(json.clj:331)*
* at clojure.lang.RestFn.invoke(RestFn.java:410)*
* at user$eval212.invoke(NO_SOURCE_FILE:24)*
* at clojure.lang.Compiler.eval(Compiler.java:6406)*
* at clojure.lang.Compiler.eval(Compiler.java:6372)*
* at clojure.core$eval.invoke(core.clj:2745)*
* at clojure.main$repl$read_eval_print__6016.invoke(main.clj:244)*
* at clojure.main$repl$fn__6021.invoke(main.clj:265)*
* at clojure.main$repl.doInvoke(main.clj:265)*
* at clojure.lang.RestFn.invoke(RestFn.java:512)*
* at user$eval7$acc__1060__auto____8$fn__10.invoke(NO_SOURCE_FILE:1)*
* at clojure.lang.AFn.run(AFn.java:24)*
* at java.lang.Thread.run(Thread.java:636)*
*nil*
*user=>*
Is there a problem in the data.json lib?
Tim
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en