aboutsummaryrefslogtreecommitdiff
path: root/modules/json/src/main/clojure
diff options
context:
space:
mode:
authorStuart Sierra <mail@stuartsierra.com>2011-01-08 16:45:03 -0500
committerStuart Sierra <mail@stuartsierra.com>2011-01-08 16:45:03 -0500
commitea62e3ec4c3a3b977b672ed19cc5cba999f1f700 (patch)
treea3e6e3c220b4da196e31b5a742eae9fa0e04cd1a /modules/json/src/main/clojure
parent1068a72b5a1d47c98c4b8b13c4ce1904f6a755d8 (diff)
Handle Ratios by converting to doubles
Diffstat (limited to 'modules/json/src/main/clojure')
-rw-r--r--modules/json/src/main/clojure/clojure/contrib/json.clj7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/json/src/main/clojure/clojure/contrib/json.clj b/modules/json/src/main/clojure/clojure/contrib/json.clj
index bcb59e2b..9ff79ca1 100644
--- a/modules/json/src/main/clojure/clojure/contrib/json.clj
+++ b/modules/json/src/main/clojure/clojure/contrib/json.clj
@@ -278,7 +278,10 @@
(if (.isArray (class x))
(write-json (seq x) out escape-unicode?)
(throw (Exception. (str "Don't know how to write JSON of " (class x))))))
-
+
+(defn- write-json-ratio [x out escape-unicode?]
+ (write-json (double x) out escape-unicode?))
+
(extend nil Write-JSON
{:write-json write-json-null})
(extend clojure.lang.Named Write-JSON
@@ -291,6 +294,8 @@
{:write-json write-json-bignum})
(extend java.math.BigDecimal Write-JSON
{:write-json write-json-bignum})
+(extend clojure.lang.Ratio Write-JSON
+ {:write-json write-json-ratio})
(extend java.lang.CharSequence Write-JSON
{:write-json write-json-string})
(extend java.util.Map Write-JSON