假设我有一个长这样的对象:
public class MyObject
{
[JsonProperty(Required = Required.Always)]
public string Prop1 { get; set; }
[JsonProperty(Required = Required.Always)]
public string Prop2 { get; set; }
}
现在,如果我尝试使用 JsonConvert
反序列化一个字符串,当其中任一属性缺失时会抛出异常。但是,如果我像这样传递一个空字符串:
JsonConvert.DeserializeObject<MyObject>("")
返回null
但没有抛出异常。我如何配置MyObject
或序列化程序,以便像任何所需属性丢失时一样抛出JsonException
?
JsonObjectAttribute.ItemRequired
的描述是“一个值,表示对象的属性是否必需”。因此,它似乎与对象本身无关。这看起来是一个方便的功能,可以一次性针对类的所有属性进行操作,而不必在每个单独的属性上放置[JsonProperty(Required = Required.Always)]
。 - MarredCheese