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