9
考慮下面的F#片段:序列化F#選項類型
type MyType = {
CrucialProperty: int
OptionalProperty: string option
}
let first = { CrucialProperty = 500; OptionalProperty = Some("Hello")}
let second = { CrucialProperty = 500; OptionalProperty = Some(null)}
let third = { CrucialProperty = 500; OptionalProperty = None}
我希望做的序列化此類型使用JSON.NET所以我得到以下字符串分別用於上述情況:
{"CrucialProperty":500,"OptionalProperty":"Hello"}
{"CrucialProperty":500,"OptionalProperty":null}
{"CrucialProperty":500}
本質上,問題歸結爲能夠基於該屬性的值在序列化輸出中包含/排除屬性。
我已經設法找到一些「OptionConverters」(例如here),但他們似乎並沒有做我正在尋找的東西。