所以我使用了 aeson 库,并认为具有以下功能会非常有用:
v .:! f = liftM (fromMaybe mempty) (v .:? f)
当我向 GHCi 询问类型时,我得到:
(.:!)
:: (Monoid r, FromJSON r) =>
Object
-> T.Text -> aeson-0.7.0.6:Data.Aeson.Types.Internal.Parser r
但是,Parser 本身实际上并没有由Data.Aeson
or导出Data.Aeson.Types
。我是否被迫没有我定义的函数的类型签名?
或者,如果有人知道完成我想做的事情的更好方法,我会对你的建议感兴趣。