consideri il # frammento F di seguito:Serializzare F # tipi di opzione
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}
desidero fare serializzare questo tipo utilizzando JSON.NET così ottengo le seguenti stringhe, rispettivamente, per i casi sopra descritti:
{"CrucialProperty":500,"OptionalProperty":"Hello"}
{"CrucialProperty":500,"OptionalProperty":null}
{"CrucialProperty":500}
In sostanza, il problema si riduce alla possibilità di includere/escludere una proprietà nell'output serializzato in base al valore di tale proprietà.
Sono riuscito a trovare alcuni "OptionConverters" là fuori (ad esempio here), ma non sembrano proprio fare ciò che sto cercando.