WebAPI / Json.NET - 如果存在其他属性,则强制反序列化失败

时间:2016-10-20 17:01:04

标签: c# json asp.net-web-api json.net deserialization

我正在尝试将此json反序列化

{
   "state": "enabled"
}

class Setting 
{
   [JsonProperty(PropertyName = "state")]
    public string State { get; set; }
}

我有我的Web API控制器方法:

   public async Task<HttpResponseMessage> SetSetting([FromBody] Setting setting)
    { 
         // not important 
    }

如果我在请求中收到以下json paylod,我想强制反序列化失败:

{
   "state": "enabled",
   "extra_key": "extra_value"
}

我已经尝试在webApi配置中设置它:

config.Formatters.JsonFormatter.SerializerSettings.CheckAdditionalContent = true;

但是,仅当我在有效负载的最末端有其他内容时才会起作用,例如:

 {
 "state": "enabled",
}, "extra"

如果我获得额外的json属性,如何强制反序列化失败?

0 个答案:

没有答案