gpt4 book ai didi

json - Data.Aeson 编码可选键

转载 作者:行者123 更新时间:2023-12-04 01:16:35 26 4
gpt4 key购买 nike

我有以下问题,我有一个带有可选键的 JSON 格式,我需要从我的 haskell 代码生成。

让我们举个例子

{-# LANGUAGE DeriveGeneric #-}

import GHC.Generics
import Data.Aeson

data Person = {
name :: String,
shoeSize :: Maybe Int,
favoriteColor :: Maybe String,
favoriteFood :: Maybe StringC
} deriving (show, eq, generic)

instance ToJSON Person -- Generic instance

现在,如果我尝试对没有鞋码的 Person 进行编码,我仍然会将键“shoeSize”设置为 null,Aeson 在编码中使键可选的方法是什么

编辑,编码示例
encode $ Person "windwarrior" Nothing "green" Nothing

应该导致
{"name":"windwarrior", "favoriteColor":"green"}

最佳答案

使用 TemplateHaskell导出 ToJSON实例而不是 Generic . TH 函数可选地采用 Options 其中有 omitNothingFields选项。

关于json - Data.Aeson 编码可选键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com