Xem xét F # đoạn dưới đây:serializing F # Lựa chọn loại
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}
Tôi muốn làm serialize loại này sử dụng JSON.NET vì vậy tôi có được chuỗi kí tự sau lần lượt cho các trường hợp đã nêu ở trên:
{"CrucialProperty":500,"OptionalProperty":"Hello"}
{"CrucialProperty":500,"OptionalProperty":null}
{"CrucialProperty":500}
Về cơ bản, vấn đề nảy sinh khi có thể bao gồm/loại trừ một thuộc tính trong đầu ra tuần tự dựa trên giá trị của thuộc tính đó.
Tôi đã tìm thấy một vài "OptionConverters" (ví dụ: here), nhưng chúng dường như không làm những gì tôi đang tìm kiếm.