我刚刚开始做一些 Yesod + Haskell 的东西。
是 jsonToRepJson 坏了还是什么?
我在下面制作了这段代码,但我总是在 jsonToRepJson 部分遇到错误。
似乎没有得到预期的类型?
任何帮助都会很棒!谢谢:3
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
import Yesod
import Data.Text
data APP = APP
instance Yesod APP
mkYesod "APP" [parseRoutes|
/ TestR GET
|]
getTestR :: Handler RepJson
getTestR = jsonToRepJson $ object ["test".= ("test"::Text)]
main::IO()
main = warpDebug 3001 APP
这就是我使用 runhaskell 时得到的
api.hs:18:12:
Couldn't match expected type `RepJson' with actual type `Value'
Expected type: Handler RepJson
Actual type: HandlerT APP IO Value
In the expression:
jsonToRepJson $ object ["test" .= ("test" :: Text)]
In an equation for `getTestR':
getTestR = jsonToRepJson $ object ["test" .= ("test" :: Text)]
最佳答案
您必须转换您的值 toJSON
。
例如。:
jsonToRepJson $ object [("result", toJSON resultValue)]
:)
您可以在 Yesod 1.2 中阅读有关该更改的信息
关于haskell - jsonToRepJson 坏了吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16914631/