Json.NET MissingMemberHandling设置
当字符串缺少C#类所需的属性时,我想Json.NET
抛出一个。JsonSerializationException``Json
有MissingMemberHandling
Enumeration那个
反序列化过程中遇到缺少的成员时,抛出JsonSerializationException。
但是我认为这与我想要的相反。我认为这意味着C#类上缺少成员。我想要一个失踪的Json成员。
我的代码是
public MyObj Deserialise(string json){
var jsonSettings = new JsonSerializerSettings();
jsonSettings.MissingMemberHandling = MissingMemberHandling.Error;
return JsonConvert.DeserializeObject<ApiMessage>(json, jsonSettings);
}
例如
public class MyObj{
public string P1 { get; set; }
public string P2 { get; set; }
}
string json = @"{ ""P1"": ""foo"" }";
json中缺少P2。我想知道是什么情况。
谢谢。
回答:
您必须使用以下命令将P2属性设置为必选 JsonPropertyAttribute
public class ApiMessage{
public string P1 { get; set; }
[JsonProperty(Required = Required.Always)]
public string P2 { get; set; }
}
通过您的示例,您将获得一个JsonSerializationException
。
希望能帮助到你!
以上是 Json.NET MissingMemberHandling设置 的全部内容, 来源链接: utcz.com/qa/408381.html