我创建了用于避难的模型,
class Object
{
public string prop1 {get; set}
public string prop2 {get; set}
}
现在,只有当我的jsonstring都包含两个字段,即
时,这才能起作用。{
"prop1" : "value prop1",
"prop2" : "value prop2"
}
,如果我在JSON中只有一个属性,即
,这将失败{
"prop1" : "value1"
}
当缺少属性并将其做出选项时,我该如何进行。
您可以选择Dynamic
dynamic stuff = JsonConvert.DeserializeObject("{"prop1" : "value prop1","prop2" : "value prop2"}");
string p1 = stuff.prop1;
string p2 = stuff.prop2;
或Newtonsoft.Json.Linq
dynamic stuff = JObject.Parse("{"prop1" : "value1"}");
string p1 = stuff.prop1;
此代码正常运行(除了集合后缺少半洛龙)。
另一方面,如果您愿意在这种情况下有错误,请使用
[JsonProperty(Required = Required.Always)]
或[JsonProperty(Required = Required.DisallowNull)]