summaryrefslogtreecommitdiff
path: root/src/main/scala/cc/spray/json/JsValue.scala
diff options
context:
space:
mode:
authorMathias <mathias@parboiled.org>2011-10-12 01:00:25 -0700
committerMathias <mathias@parboiled.org>2011-10-12 01:00:25 -0700
commitc453ff95bcd69f57299b198c552e409e27488f74 (patch)
treeff1f4ab000c68f18c8b63cbba19ca8f019b3a600 /src/main/scala/cc/spray/json/JsValue.scala
parent2e7e3e955a56ccb5fa9382a42f61de29a31709cd (diff)
parentfe8fca4e69a21b5a795a000d4bd27026a06aa6a0 (diff)
downloadspray-json-c453ff95bcd69f57299b198c552e409e27488f74.tar.gz
spray-json-c453ff95bcd69f57299b198c552e409e27488f74.tar.bz2
spray-json-c453ff95bcd69f57299b198c552e409e27488f74.zip
Merge pull request #9 from stefri/issue8
Thanks for this contribution, Steffen!
Diffstat (limited to 'src/main/scala/cc/spray/json/JsValue.scala')
-rw-r--r--src/main/scala/cc/spray/json/JsValue.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/scala/cc/spray/json/JsValue.scala b/src/main/scala/cc/spray/json/JsValue.scala
index 86dbb06..e4ab734 100644
--- a/src/main/scala/cc/spray/json/JsValue.scala
+++ b/src/main/scala/cc/spray/json/JsValue.scala
@@ -110,7 +110,11 @@ case class JsNumber(value: BigDecimal) extends JsValue
object JsNumber {
def apply(n: Int) = new JsNumber(BigDecimal(n))
def apply(n: Long) = new JsNumber(BigDecimal(n))
- def apply(n: Double) = new JsNumber(BigDecimal(n))
+ def apply(n: Double) = n match {
+ case n if n.isNaN => JsNull
+ case n if n.isInfinity => JsNull
+ case _ => new JsNumber(BigDecimal(n))
+ }
def apply(n: BigInt) = new JsNumber(BigDecimal(n))
def apply(n: String) = new JsNumber(BigDecimal(n))
}
@@ -135,4 +139,4 @@ case object JsFalse extends JsBoolean {
/**
* The representation for JSON null.
*/
-case object JsNull extends JsValue \ No newline at end of file
+case object JsNull extends JsValue