我对 Haskell 比较陌生,我目前正在评估 Yesod 作为 REST 服务的基础。我希望能够使用 JSON 编码数据进行通信。
我有一个用于存储数据的类型类Persistent
,它是ToJSON
and的一个实例FromJSON
。但是,我只能解码使用Yesod.Core.Json.parseJsonBody_
.
如何parseJsonBody
正确使用?我需要添加类型注释吗?如何从结果中提取解码的实例?请注意,我对 Haskell 还不是很熟悉。
我发现,我需要添加一个正确的类型签名来parseJsonBody
识别我想要解析的实例:
import qualified Data.Aeson as J
postTestR :: Handler Value
postTestR = do
newTest <- parseJsonBody :: Handler (J.Result Test)
case newTest of
J.Error s -> ...
J.Success a -> ...
当我查看parseJsonBody_
它的来源及其使用方式时,我理解了这个问题parseJsonBody
。