У меня есть объект, который будет использоваться с несколькими клиентами. У объекта есть набор фиксированных свойств, общих для всех клиентов. Вот пример того, как может выглядеть объект:
public class Applicant
{
public string ApplicantId { get; set; }
public string ProducerId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
...
public List<dynamic> Information { get; set; }
}
Мы будем получать это через POST веб-API. Итак, у меня есть эта подпись контроллера:
[HttpPost]
public void Post([FromBody] dynamic value)
{
var converter = new ExpandoObjectConverter();
dynamic input = JsonConvert.DeserializeObject<Loan>(value,converter);
}
Но когда я запускаю этот код, NewtonSoft продолжает выдавать мне ошибку
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'Лучшая перегруженная соответствие метода для Newtonsoft. Json .JsonConvert.DeserializeObject (string, params Newtonsoft. Json .JsonConverter []) 'имеет некоторые недопустимые аргументы'
При осмотре выясняется, что возникла проблема с переданным типом Dynami c. Итак, как мне передать этот JSON, чтобы я мог проанализировать его с помощью ExpandoObjectConverter?