当令牌和属性名称不匹配时,停止序列化程序吗?

时间:2019-01-20 09:16:33

标签: c# asp.net json json.net

我开设了以下课程

[JsonObject(MemberSerialization = MemberSerialization.OptIn)]
public class Person {
     [JsonProperty("id",
        Order = 1,
        Required = Required.DisallowNull,
        NullValueHandling = NullValueHandling.Ignore)]
     public Guid? Id { get; set; }

     [JsonProperty("name",
        Required = Required.Always)
     public string Name { get; set; }
}

然后我像这样创建一个序列化器:

var jsonSettings = new JsonSerializerSettings();
jsonSettings.MissingMemberHandling = MissingMemberHandling.Error;
jsonSettings.CheckAdditionalContent = true;
JsonConvert.DeserializeObject<Person>(json, jsonSettings);

然后我解析以下内容:

{ 
     "iD":"571eece7-7784-4db9-be3a-7cc30d9288a5",
     "name":"James Campbell"
}

ID解析得很好,但是我不希望这种情况发生。 当Token属性名称和JsonProperty名称不完全匹配时,如何防止序列化? (区分大小写的反序列化)

我希望序列化程序抛出异常。

0 个答案:

没有答案