我正在尝试用Aeson解析JSON值,而且(到目前为止)我没有问题解析对象或数组,但我不能让JSON解析仅仅是字符串的JSON文档。
据我所知,因为RFC 7159值是合法的JSON文档,因此自0.9.0.0 (我使用的是0.9.0.1)伊索支持它,所以它应该可以工作。例如,我正在包装一个API,它将字符串作为顶级JSON文档返回给它的许多调用,并且为了一些静态类型的安全性,我希望对这些字符串进行新类型:
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作为回报。
知道我做错什么了吗?当然,我可以处理API调用,这些API调用将字符串作为JSON文档返回,而不使用伊索,但是我希望保持一致!
发布于 2016-02-02 17:59:38
试试decode "\"JustSomeRandomString\"" :: Maybe Bar
https://stackoverflow.com/questions/35160600
复制相似问题