gpt4 book ai didi

haskell - 如何使用 aeson derivedJSON 省略空列表?

转载 作者:行者123 更新时间:2023-12-04 12:47:49 27 4
gpt4 key购买 nike

使用 aeson derivedJSON 很容易忽略 Nothing 值,例如:

data Person = 
Person {
ssn :: Maybe Text,
phone :: [Text]
}

$(deriveJSON defaultOptions{omitNothingFields=True} ''Person)

我还想省略空列表以保持 JSON 紧凑。
是否有一般使用deriveJSON省略空列表而不手动滚动实例的通用方法?

最佳答案

我相信你目前不能这样做。

我猜它遵循对象的结构应该与类型大致对齐的理念;从这个角度来看,拥有 {... phone: [] ...}甚至{... phone: null ...}对于不存在的字段比将它们排除在对象之外是“更多类型的”。

如果您想要保持 JSON“紧凑”的原因不是为了优雅,而是例如带宽原因,gzip或类似 JSONH可以透明地实现几乎相同的节省,而无需更改对象的结构。

关于haskell - 如何使用 aeson derivedJSON 省略空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21345365/

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