@@ -713,14 +713,14 @@ instance FromJSON DotNetTime where
713713
714714instance ToJSON Day where
715715 toJSON = stringEncoding
716− toEncoding z = Encoding (E.day z)
716+ toEncoding z = Encoding (E.quote $ E.day z)
717717
718718instance FromJSON Day where
719719 parseJSON = withText "Day" (Time.run Time.day)
720720
721721instance ToJSON LocalTime where
722722 toJSON = stringEncoding
723− toEncoding z = Encoding (E.localTime z)
723+ toEncoding z = Encoding (E.quote $ E.localTime z)
724724
725725instance FromJSON LocalTime where
726726 parseJSON = withText "LocalTime" (Time.run Time.localTime)
@@ -728,7 +728,7 @@ instance FromJSON LocalTime where
728728instance ToJSON ZonedTime where
729729 toJSON = stringEncoding
730730
731− toEncoding z = Encoding (E.zonedTime z)
731+ toEncoding z = Encoding (E.quote $ E.zonedTime z)
732732
733733formatMillis :: (FormatTime t) => t -> String
734734formatMillis = take 3 . formatTime defaultTimeLocale "%q"
@@ -739,11 +739,11 @@ instance FromJSON ZonedTime where
739739instance ToJSON UTCTime where
740740 toJSON = stringEncoding
741741
742− toEncoding t = Encoding (E.utcTime t)
742+ toEncoding t = Encoding (E.quote $ E.utcTime t)
743743
744744-- | Encode something to a JSON string.
745745stringEncoding :: (ToJSON a) => a -> Value
746−stringEncoding = String . T.decodeLatin1 . L.toStrict . encode
746+stringEncoding = String . T.dropAround (== '"') . T.decodeLatin1 . L.toStrict . encode
747747{-# INLINE stringEncoding #-}
748748
749749instance FromJSON UTCTime where