簡體   English   中英

使用Aeson解析頂級值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM