aboutsummaryrefslogtreecommitdiff
path: root/modules/json/src
diff options
context:
space:
mode:
Diffstat (limited to 'modules/json/src')
-rw-r--r--modules/json/src/main/clojure/clojure/contrib/json.clj4
-rw-r--r--modules/json/src/test/clojure/clojure/contrib/test_json.clj3
2 files changed, 4 insertions, 3 deletions
diff --git a/modules/json/src/main/clojure/clojure/contrib/json.clj b/modules/json/src/main/clojure/clojure/contrib/json.clj
index 0a07b59c..a69195ea 100644
--- a/modules/json/src/main/clojure/clojure/contrib/json.clj
+++ b/modules/json/src/main/clojure/clojure/contrib/json.clj
@@ -238,9 +238,7 @@
(let [[k v] (first x)]
(when (nil? k)
(throw (Exception. "JSON object keys cannot be nil/null")))
- (.print out \")
- (.print out (as-str k))
- (.print out \")
+ (write-json-string (as-str k) out)
(.print out \:)
(write-json v out))
(let [nxt (next x)]
diff --git a/modules/json/src/test/clojure/clojure/contrib/test_json.clj b/modules/json/src/test/clojure/clojure/contrib/test_json.clj
index c38dbc6a..a4290e5c 100644
--- a/modules/json/src/test/clojure/clojure/contrib/test_json.clj
+++ b/modules/json/src/test/clojure/clojure/contrib/test_json.clj
@@ -185,6 +185,9 @@
(deftest can-accept-eof
(is (= ::eof (read-json "" true false ::eof))))
+(deftest characters-in-map-keys-are-escaped
+ (is (= (json-str {"\"" 42}) "{\"\\\"\":42}")))
+
;;; Pretty-printer
(deftest pretty-printing