如何在FSharp.Data JsonProvider中隐藏具有空值的属性?

问题描述 投票:2回答:1

这件code

open FSharp.Data

type ColorProvider = JsonProvider<"""
[
  {
    "color": "Red",
    "code": 15
  },
  {
    "color": "Green"
  }
]
""", SampleIsList=true>

let value = ColorProvider.Root(color = "Blue", code = None)

printf "%A" value

生成这个JSON:

{
  "color": "Blue",
  "code": null
}

我将json传递给一个不处理空值的外部服务。要么它必须是整数,要么必须缺少整个属性。当它是code时,有没有办法隐藏null财产?

f# type-providers f#-data fsharp.data.typeproviders
1个回答
0
投票

您正在使用FSharp的对象打印功能来生成JSON。它产生类似JSON的输出,但在我看来,它不适用于该任务。我建议使用JSON库,我个人喜欢使用https://github.com/Microsoft/fsharplu/wiki/fsharplu.json执行该任务,因为它为Discriminate Unions生成了漂亮的JSON。

© www.soinside.com 2019 - 2024. All rights reserved.