当我序列化然后反序列化这样的仅 setter/getter 自动属性时:
class A {
public string B { get; }
private A() { }
public A(int unusableConstructor) { B = "Val"; }
}
然后,通过将“null”放入属性B,Json.NET将成功反序列化类A的实例。但是我不要那个!
跟踪中确实包含消息
Unable to deserialize value to non-writable property 'B' on A.
,但它在Info
级别,并且Error
事件未触发。有没有办法说服Json.NET在这种情况下产生错误或以其他方式通知我(除了尝试从跟踪中解析信息消息之外)?
最佳答案
您可以将JsonSerializerSettings
传递给DeserializeObject<T>
方法。
文件here。
例:
var settings = new JsonSerializerSettings
{
MissingMemberHandling = MissingMemberHandling.Error
};
var myContent = JsonConvert.DeserializeObject<MyClass>(someString, settings);
关于c# - 无法反序列化值时,如何导致反序列化失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63104284/