假设我有一个记录类型:
type CountHolder = { Counter: int}
type NameCount = { Name: string; Count: CountHolder}
我正在寻找在反序列化以下任一json字符串时使用JSON.NET指定Count
属性的默认值的方法:
{"Name":"My Name","Count": null}
{"Name":"My Name"}
例如,我的默认值可以定义为
{ Counter : 0 }
如果我能在JSON.NET序列化管道中找到一个扩展点,允许我在运行时定义一个默认值,我猜这可以解决我的问题。
修改
响应a comment建议我修改我的记录类型以使Count
字段可选 - 我宁愿不这样做,因为我的类型被C#代码占用。通过使这个字段成为我的代码的可选消费者将被迫依赖FSharp.Core
。
答案 0 :(得分:1)
您可以随时定义NameCount
:
type NameCount = { Name: string; Count: CountHolder option }
然后处理None
。