忽略Haskell Aeson输入中的JSON字段

拉尔夫

我有Haskell记录

data User = User
    { email :: Text
    , token :: Text
    }

并且我想在任何输入JSON中忽略“令牌”的值。例如,如果输入的JSON是

{
    "email": "[email protected]",
    "token": "abc123"
}

我想要User包含的结果对象User { email = "[email protected]", token = "" }

我定义了以下内容:

instance FromJSON User where
    parseJSON (Object v) =
        User <$> v .:  "email"
             <*> v .:? "" .!= "" -- token

    parseJSON _ = fail "Invalid User"

有没有一种更好的方法来设置token字段的值,然后v .:? "" .!= ""忽略"token": "abc123"JSON中的?

我试过了

instance FromJSON User where
    parseJSON (Object v) =
        User <$> v .:  "email"
             <*> "" -- token

    parseJSON _ = fail "Invalid User"

但是它不能编译,因为<*> ""需要是一个Parser Text

皮奥特·米希(PiotrMiś)

你尝试过这个吗?

User <$> v .: "email" <*> pure ""

pure功能来自Control.Applicative模块。在这种情况下,它将构造一个普通的解析器,将""其作为结果传递如果您不熟悉应用函子,则可以在typeclassopedia上阅读有关它们的信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

忽略Haskell Aeson输入中的JSON字段

来自分类Dev

Haskell木薯(Data.Csv):忽略缺少的列/字段

来自分类Dev

Haskell木薯(Data.Csv):忽略缺少的列/字段

来自分类Dev

如何在Haskell中忽略异常或错误并继续IO操作?

来自分类Dev

Haskell:放在State monad中似乎被忽略了

来自分类Dev

如何在Haskell中捕获和忽略错误调用

来自分类Dev

使用Aeson从Haskell中的URL解析JSON数据

来自分类Dev

忽略Happy中的其余输入(Haskell的解析器生成器)

来自分类Dev

Haskell :: Aeson ::根据字段值解析ADT

来自分类Dev

Moxy忽略JSON中的无效字段

来自分类Dev

Haskell Aeson JSON库ByteString问题

来自分类Dev

Haskell Aeson嵌套数组JSON

来自分类Dev

使用 Haskell Aeson 解析 Json 玫瑰树

来自分类Dev

忽略Haskell Text.Shakespeare.Text中的“惰性文本”准引号中的前导空白。

来自分类Dev

忽略输入中的字符

来自分类Dev

Haskell:具有aeson的动态对象字段名称

来自分类Dev

在Haskell中输入两个枚举字段

来自分类Dev

忽略Json忽略Elasticsearch

来自分类Dev

忽略Json忽略Elasticsearch

来自分类Dev

Haskell:忽略案例或使用when

来自分类Dev

使用Pipes.Aeson在Haskell中进行JSON的流解析

来自分类Dev

Haskell Aeson JSON,过滤掉非法字符

来自分类Dev

Haskell Aeson - Gloss - JSON 实例解析器:颜色

来自分类Dev

在 Haskell 中使用 Aeson 解析 JSON 配置文件

来自分类Dev

忽略Scalatest匹配中的字段

来自分类Dev

RegEx:在JSON中查找多个结果,但只在特定字段中,忽略其他字段

来自分类Dev

Haskell中的输入类型

来自分类Dev

忽略带有注释的字段以进行JSON序列化,但不忽略MongoJack中的Mongo

来自分类Dev

.babelrc忽略字段似乎被忽略

Related 相关文章

热门标签

归档