我正在尝试用Aeson解析JSON值,我没有问题(到目前为止)解析对象或数组,但我无法让Aeson解析只是字符串的JSON文档。
据我所知,由于RFC 7159值是合法的JSON文档,而且自从0.9.0.0(我使用的是0.9.0.1)以来Aeson支持它,所以它应该可以工作。例如,我正在包装一个API,它返回字符串作为其许多调用的顶级JSON文档,并且想要为那些静态类型安全性对这些字符串进行newtype:
newtype Bar = Bar String deriving (Eq, Show)
instance FromJSON Bar where
parseJSON (String v) = pure (Bar $ T.unpack v)
parseJSON _ = mzero
如果我尝试解码某些内容:
decode "JustSomeRandomString" :: Maybe Bar
我得到的只是Nothing
作为回报。
任何想法我做错了什么?当然,我可以处理在没有Aeson的情况下将字符串作为JSON文档返回的API调用,但是希望保持统一!
答案 0 :(得分:2)
尝试{{1}}