【问题标题】:How to hide properties with null values in FSharp.Data JsonProvider?如何在 FSharp.Data JsonProvider 中隐藏具有空值的属性?
【发布时间】:2019-02-13 18:19:24
【问题描述】:

这张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】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-09
      • 2021-10-14
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      相关资源
      最近更新 更多