Как скрыть свойства с нулевыми значениями в FSharp.Data JsonProvider? - PullRequest
0 голосов
/ 13 февраля 2019

Этот фрагмент кода :

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?

1 Ответ

0 голосов
/ 20 марта 2019

Вы используете функцию печати объектов FSharp для создания JSON.Он производит JSON-подобный вывод, но, на мой взгляд, он не предназначен для этой задачи.Я бы предложил для этого использовать библиотеку JSON, лично мне нравится использовать https://github.com/Microsoft/fsharplu/wiki/fsharplu.json для этой задачи, поскольку она создает прекрасный JSON для различающихся союзов.

...