当我序列化然后反序列化一个只有getter的自动属性时,如下所示:
class A {
public string B { get; }
private A() { }
public A(int unusableConstructor) { B = "Val"; }
}
然后Json.NET将成功地反序列化类A的实例;空";进入房地产B.
但我不想那样!
跟踪确实包含消息Unable to deserialize value to non-writable property 'B' on A.
,但它处于Info
级别,并且Error
事件不会触发。
有没有办法说服Json.NET在这种情况下产生错误或以其他方式通知我(除了尝试解析跟踪中的信息消息(?
您可以将JsonSerializerSettings
传递给DeserializeObject<T>
方法。
此处提供文档。
示例:
var settings = new JsonSerializerSettings
{
MissingMemberHandling = MissingMemberHandling.Error
};
var myContent = JsonConvert.DeserializeObject<MyClass>(someString, settings);