将 JSON 与 asp.net MVC 控制器中名称 "event" 的 属性 绑定

Binding JSON with property of name "event" in asp.net MVC controller

如何将下面名为 "event" 的 属性 与我通过 ASP.NET MVC 控制器操作列出的 class 绑定?

Class

public class SendGridWebhookRequest
    {
        public string email { get; set; }
        public int timestamp { get; set; }
        public string smtp_id { get; set; }
    }

请求

{
  "status":"5.0.0",
  "sg_event_id":"sendgrid_internal_event_id",
  "sg_message_id":"sendgrid_internal_message_id",
  "event":"bounce",
  "email":"email@example.com",
  "timestamp":1249948800,
  "smtp-id":"<original-smtp-id@domain.com>",
  "unique_arg_key":"unique_arg_value",
  "category":["category1", "category2"],
  "reason":"500 No Such User",
  "type":"bounce"
}
public string @event {get;set;}

您可以自定义名称并在 json 中指定 属性 的名称,属性为:

public class SendGridWebhookRequest
{
    public string email { get; set; }
    public int timestamp { get; set; }
    public string smtp_id { get; set; }
    [JsonProperty("event")]
    public string MyEvent {get;set;}
}