on master help sign in
Properly encode NaN and Infinity.
c5a463fBryan O'Sullivan
Data/Aeson/Encode.hs+3−1
@@ -70,7 +70,9 @@ string s = fromChar '"' `mappend` quote s `mappend` fromChar '"'
70
70
71fromNumber :: Number -> Builder
71fromNumber :: Number -> Builder
72fromNumber (I i) = integral i
72fromNumber (I i) = integral i
73−fromNumber (D d) = double d
73+fromNumber (D d)
74+ | isNaN d || isInfinite d = "null"
75+ | otherwise = double d
74
76
75-- | Efficiently serialize a JSON value as a lazy 'L.ByteString'.
77-- | Efficiently serialize a JSON value as a lazy 'L.ByteString'.
76encode :: ToJSON a => a -> L.ByteString
78encode :: ToJSON a => a -> L.ByteString