aeson

    2热度

    1回答

    我对Haskell比较新,我目前正在评估Yesod作为REST服务的基础。我希望能够使用JSON编码数据进行通信。 我有一个使用Persistent存储数据的类型类型,它是ToJSON和FromJSON的一个实例。但是,我只能使用Yesod.Core.Json.parseJsonBody_解码发送给处理程序的实例。 如何正确使用parseJsonBody?我是否需要添加类型注释?我怎样才能从结果中

    2热度

    1回答

    Yesod包含Entity数据类型,即模型及其来自数据库的ID。 Yesod也让Entity成为Aeson的ToJSON类的一个实例,所以它可以很容易地序列化为json。更令人敬畏的是,Entity可以包裹在任何结构中,它也会被序列化。有很多类型支持ToJSON协议。它非常方便,我非常喜欢它。 不幸的是,序列化格式Yesod提供了一个Entity不符合我的需求,我正在寻找一种简单而透明的方式来改变

    10热度

    1回答

    我正在使用aeson包。我有一个在其声明中使用Data.Tree的数据类型。像下面的,只有更复杂: data Foo = Foo { bat :: Text , xux :: Maybe Text , tri :: Tree Text } 我想用Data.Aeson.TH产生这种类型FromJSON实例。 $(deriveJSON de

    1热度

    1回答

    在这个例子中PROGRAMM使用埃宋: module Main where import Data.Maybe import Data.Aeson import Data.Map as Map import Data.Functor import qualified Data.ByteString.Lazy as LBS main = do jsonContent <-

    11热度

    1回答

    我无法获取aeson来解析UTCTime值。我试图编码一个并反馈,但没有奏效: Prelude Data.Aeson Data.Time.Clock> getCurrentTime >>= (print . encode) "\"2013-10-17T09:42:49.007Z\"" Prelude Data.Aeson Data.Time.Clock> decode "2013-10-17T

    3热度

    2回答

    我无法找到一个函数或变通方法来转换字符串到Data.ByteString.Lazy.Internal.ByteString 一个在埃宋JSON库的功能是decode,有如下描述: decode :: FromJSON a => bytestring-0.10.0.2:Data.ByteString.Lazy.Internal.ByteString -> Maybe a 我试过在Data.Byt

    0热度

    1回答

    我是一个Haskell的完全新手,并且在解析URL中的JSON时遇到了一些麻烦。我设法编写了事物的解析方面,并用Strings进行了测试,并且它们工作正常。我遇到的麻烦是当我开始使用IO时。 我有以下代码: data Movie = Movie { adult :: Bool, backdrop_path :: Maybe String, id :: Int,

    1热度

    1回答

    我在计算如何定义FromJSON实例中定义两种其他类型之间选择的Enum类型时遇到了一些问题。我的直觉是,我对*>和(。:)运算符以及Aeson对象类型的工作方式没有足够的理解,但我无法解析编译器错误然而。 (幸运的是,实例的toJSON是很简单的。) 给定两个孩子的数据类型,我可以这样定义实例: data ChoiceSelection = ChoiceSelection

    4热度

    2回答

    我有以下问题,我有一个JSON格式的可选键,我需要从我的haskell代码生成。 让我们做出了榜样 {-# LANGUAGE DeriveGeneriC#-} import GHC.Generics import Data.Aeson data Person = { name :: String, shoeSize :: Maybe Int, favorit

    1热度

    1回答

    我正在为基于Yesod的网站编写一个CRUD界面,但我遇到了一些值问题。特别是,我试图价值观CRUD的: data Value = Value { valueId :: UUID , otherStuff :: Stuff } 我无法找出一个很好的方法来创建的,这些使用工具耶索德和埃宋提供一个。当我用formlets,在遥远的过去,我会用表格的单子转换版本做