我有一个Foo类如下
public class Foo
{
public ClassA A {get;set;}
public string B {get;set;}
}
public class ClassA
{
public string C {get;set;}
}
当我得到一个Json字符串(比如fooJson)时,我想将它反序列化为具有以下条件的Foo对象
我尝试使用MissingMemberHandling = MissingMemberHandling.Error作为我的JsonSerializerSettings的一部分。但即使Foo.B丢失,也会引发错误。
答案 0 :(得分:2)
如果您希望某些属性是可选的并且某些属性是必需的,那么实现此目的的最简单方法是使用[JsonProperty]
属性标记您的类,以指示需要哪些属性,例如:
public class Foo
{
[JsonProperty(Required = Required.Always)]
public ClassA A { get; set; }
public string B { get; set; }
}
public class ClassA
{
public string C { get; set; }
}