aeson

    0熱度

    1回答

    我想將傳入值序列化爲JSON。每個值都有一個toJSON實例。最終結果應該是一個列表。當前的代碼如下: import Pipes import qualified Pipes.Prelude as P -- assume a source of elements main :: IO() main = runEffect $ source >-> P.map encode >-> P.s

    3熱度

    3回答

    我如何可以聲明以下數據類型的FromJSON的實例: data Privacy = Everyone | AllFriends | FriendsOfFriends | Self 所以,下面的字符串來枚舉數據類型很榮幸: "EVERYONE" -> Everyone "ALL_FRIENDS" -> AllFriends "FRIENDS_OF_F

    1熱度

    1回答

    我有類似下面的JSON文件: { "persons":[ { "id":"343", "name":"John", "age":"45" } ], "houses":[ { "owner_id":"343" "address":"Charing Cross" } ] } 和Haskell數據類型如下所示: data City =

    1熱度

    1回答

    如果我有一個自定義的數據類型與埃宋解析JSON data Response = Response { response :: [Body] } deriving (Show) instance FromJSON Response where parseJSON (Object v) = Response <$> v .: "response" parse

    4熱度

    3回答

    如果我有JSON,我嘗試使用Generics自動導出FromJSON情況下,我遇到的問題與id在JSON存在不止一處。 有沒有辦法讓我只覆蓋id部分或我必須編寫整個實例才能更改這些特定條目? JSON實際上有更多的字段,但在這個例子中,我已經把大部分內容都留下了。因此寫出整個FromJSON實例實際上非常繁瑣。 JSON: { "response": [ { "id

    2熱度

    1回答

    我正在使用Test.Hspec.Wai.JSON來檢查我的api端點的返回值。我注意到,每當我創建一個值爲0.0的json時,當測試運行時,它會將其轉換爲0(Int),如果api返回0.0,則測試將失敗。 let j = [json|{"test":0.0}|] request "GET" "some_url" [("Content-Type", "application/json")] ""

    2熱度

    2回答

    這裏是JSON對象的一部分,它表示用戶: { "image": { "url": "http://example.com" } } 我需要將其解析爲User類型: data User = User { imgUrl :: Maybe Text } 天真溶液: parseJSON (Object o) = User <$> getImgUrl o where getImgUrl o

    1熱度

    1回答

    假設你有一個簡單的類型,並且想用Aeson將它序列化爲JSON。以下是基本設置: {-# LANGUAGE DeriveGeneriC#-} import Data.Aeson (ToJSON) import Data.Aeson (encode) import GHC.Generics data Spotting = Spotting { state :: String,

    4熱度

    1回答

    我有幾個數據類型代表一個應用程序的狀態。在數據類型的不同位置,我嵌入了函數或單向操作,例如。 data Foo = Foo Int (ActionM String) data Bar = Bar Foo (Maybe Bar) (ActionM()) 我需要將這些數據類型的大部分編碼爲json,因此我可以將它發送到瀏覽器進行顯示。使用deriveJSON(來自Aeson包)不起作用,因爲無法

    4熱度

    3回答

    比方說有像JSON: { "bob_id" : { "name": "bob", "age" : 20 }, "jack_id" : { "name": "jack", "age" : 25 } } 是否有可能將其解析到[Person]與Person像下面定義的? data Person = Person {