[英]Parse top-level value with Aeson
我正在嘗試使用Aeson解析JSON值,並且到目前為止,解析對象或數組都沒有問題,但是我無法讓Aeson解析僅是字符串的JSON文檔。
據我了解,由於RFC 7159值是合法的JSON文檔,並且Aeson從0.9.0.0開始支持(我使用的是0.9.0.1),因此它應該可以工作。 例如,我包裝了一個API,該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
回報。
有什么想法我做錯了嗎? 當然,我可以在沒有Aeson的情況下處理將字符串作為JSON文檔返回的API調用,但是希望保持一致!
嘗試decode "\\"JustSomeRandomString\\"" :: Maybe Bar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.