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" }