我刚刚开始做一些 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/

10-10 00:52