aeson

    1熱度

    1回答

    我有使用Text.Regex.PCRE其精細的工作正則表達式: [[_,_id,_name]] = "199mercury" =~ "(\\d+)(\\w+) :: [[String]] 然而,我在加入{ - #語言OverloadedStrings# - }使用埃宋(JSON庫),並獲得=〜實例錯誤: <interactive>:33:14: No instances for (R

    2熱度

    1回答

    我有收到JSON,看起來像一個服務器: { "foo": "bar", "bono": "bobo", "result": { "some": ["complex", "JSON", "structure",... } ,所有的東西是服務器除了的「結果」,這是被轉發到客戶端(工人--JSON- - >服務器 - 「結果」 - >客戶端)的值。因此,在用aeson解析這個東西的時候,

    18熱度

    2回答

    在我的應用程序上工作我偶然發現了一個Aeson not decoding UTF8 input的問題。深入挖掘,我發現它依賴於Attoparsec的Parser ByteString,這似乎是我的問題的根源。但這其實不是我在這裏問的。 事情是它不是我見過的人使用的唯一地方ByteString在哪裏,因爲它似乎很明顯,只有Text是合適的,因爲JSON不是一些二進制文件,它是一個可讀的文本,它可能很

    2熱度

    1回答

    我使用這個代碼: {-# LANGUAGE OverloadedStrings #-} import Data.Aeson import Data.Maybe import Data.ByteString.Lazy import Control.Applicative import Debug.Trace import Control.Monad import qualified

    6熱度

    2回答

    我想存儲aeson值usig acid-store。我已經採取了最低限度的酸實施,並試圖天真地將類型切換到價值。這些是我派生的安全拷貝: $(deriveSafeCopy 0 'base ''Object) $(deriveSafeCopy 0 'base ''Array) $(deriveSafeCopy 0 'base ''Number) $(deriveSafeCopy 0 'base

    7熱度

    1回答

    我在Haskell中用Warp(也可能是Scotty)和酸態做出了一個相當簡單的CRUD web服務。 在acid-state中,我將用戶記錄存儲在Data.Map中(根據this示例)。我知道這些記錄在創建時總是完整的,所以我不需要許多MaybeS的資格。但是,更新用戶時,客戶端可能會選擇發送部分json對象,只填寫一些字段。 什麼是代表這種慣用方式?我應該有一個數據聲明,FullUser,沒有

    25熱度

    3回答

    我說的是,這是不可能的定義: data A = A {name :: String} data B = B {name :: String} 我知道,GHC只是desugars這個平淡的功能和解決慣用的方式,這將是: data A = A {aName :: String} data B = B {bName :: String} class Name a where nam

    2熱度

    1回答

    begginners問題。 我有KK具有以下內容命名爲一個簡單的文件: { "id": 123, "name": "Test1" } 而且我成功地閱讀,並與下面的代碼解析它: {-# LANGUAGE OverloadedStrings #-} import Data.Aeson import Data.Aeson.Types import Control.Applicative

    11熱度

    1回答

    我有一堆與任意鍵嵌套的JSON對象。 { "A": { "B": { "C": "hello" } } } 凡A,B,C是提前未知。這三個人中的每一個也可以有 有兄弟姐妹。 我想知道是否有一種方法來解析這個到與艾森在 一些優雅的方式自定義類型。我一直在做的是將它加載到Aeson Object中。 你會如何去執行FromJSON這種

    10熱度

    1回答

    我試圖用aeson解析下面的JSON。 { "data": [ { "id": "34", "type": "link", "story": "foo" }, { "id": "35", "type": "link", "story": "bar" }