Rozważmy F # fragment poniżej:szeregowania F # typów opcji
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}
pragnę zrobić serializacji tego typu przy użyciu JSON.NET więc mam następujące ciągi odpowiednio do wyżej opisanych przypadkach:
{"CrucialProperty":500,"OptionalProperty":"Hello"}
{"CrucialProperty":500,"OptionalProperty":null}
{"CrucialProperty":500}
Zasadniczo problem sprowadza się do możliwości włączenia/wyłączenia właściwości w serializowanym wyniku na podstawie wartości tej właściwości.
Udało mi się znaleźć kilka "OptionConverters" (np. here), ale nie wydają się robić tego, czego szukam.