2

我对 Haskell 比较陌生,我目前正在评估 Yesod 作为 REST 服务的基础。我希望能够使用 JSON 编码数据进行通信。

我有一个用于存储数据的类型类Persistent,它是ToJSONand的一个实例FromJSON。但是,我只能解码使用Yesod.Core.Json.parseJsonBody_.

如何parseJsonBody正确使用?我需要添加类型注释吗?如何从结果中提取解码的实例?请注意,我对 Haskell 还不是很熟悉。

4

1 回答 1

2

我发现,我需要添加一个正确的类型签名来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

于 2013-11-22T09:41:06.593 回答