diff --git a/Yesod/Content.hs b/Yesod/Content.hs
--- a/Yesod/Content.hs
+++ b/Yesod/Content.hs
@@ -67,6 +67,11 @@
 import Network.Wai (FilePart)
 import Data.Conduit (Source, ResourceT, Flush)
 
+import qualified Data.Aeson as J
+import Data.Aeson.Encode (fromValue)
+import qualified Blaze.ByteString.Builder.Char.Utf8 as Blaze
+import Data.Text.Lazy.Builder (toLazyText)
+
 data Content = ContentBuilder !Builder !(Maybe Int) -- ^ The content and optional content length.
              | ContentSource !(Source (ResourceT IO) (Flush Builder))
              | ContentFile !FilePath !(Maybe FilePart)
@@ -250,3 +255,9 @@
 
 instance ToContent a => ToContent (DontFullyEvaluate a) where
     toContent (DontFullyEvaluate a) = ContentDontEvaluate $ toContent a
+
+instance ToContent J.Value where
+    toContent = flip ContentBuilder Nothing
+              . Blaze.fromLazyText
+              . toLazyText
+              . fromValue
diff --git a/yesod-core.cabal b/yesod-core.cabal
--- a/yesod-core.cabal
+++ b/yesod-core.cabal
@@ -1,5 +1,5 @@
 name:            yesod-core
-version:         1.1.4.2
+version:         1.1.5
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -57,7 +57,7 @@
                    , path-pieces           >= 0.1.2    && < 0.2
                    , hamlet                >= 1.1      && < 1.2
                    , shakespeare           >= 1.0      && < 1.1
-                   , shakespeare-js        >= 1.0      && < 1.1
+                   , shakespeare-js        >= 1.0.2    && < 1.2
                    , shakespeare-css       >= 1.0      && < 1.1
                    , shakespeare-i18n      >= 1.0      && < 1.1
                    , blaze-builder         >= 0.2.1.4  && < 0.4
