Значения привязки модели с квадратными скобками


Как я могу привязать опубликованный параметр с именем "data[email]" к модели в Asp.Net MVC?

Опубликованные данные:

type=subscribe&data%5Bemail%5D=my%40iemail.com

Без кодировки url:

type=subscribe&data[email]=my@email.com

Модель, к которой я хочу привязаться:

public class MyModel
{
  public string type {get;set;}
  public string dataemail {get;set;} //What do I do here to 
}

Способ получения поста:

public ActionResult Post(MyModel payload)
{
    return Ok(payload);
}

Предыстория:

MailChimp использует POST для webhooks и возвращает некоторые значения в квадратных скобках. Я не могу понять, как это сделать.

Я мог бы использовать запрос.Форма, но..... Было бы на самом деле гораздо предпочтительнее использовать привязку модели.

1 3

1 ответ:

Обновите свойство model data, чтобы использовать словарь

public class MyModel {
    public string type { get; set; }
    public Dictionary<string, string> data { get; set; }
}

Доступ к электронной почте будет осуществляться через словарь, например

var email = payload.data["email"];