У меня есть проект WebAPI, который получает строку JSON, которая должна инициировать новый объект и заполнить его значения. Мои классы выглядят так:
public class User
{
public string email { get; set; }
public string libraryId { get; set; }
public string name { get; set; }
public DateTime joiningDate { get; set; }
public string zone { get; set; }
public List<Rental> rental { get; set; }
}
public class Rental
{
public Dictionary<DateTime, int> rental;
}
и получаемый мной объект JSON выглядит примерно так:
{
"email": "a@b.ca",
"libraryId": "314159",
"name": "Jon Doe",
"joiningDate": "12/31/9999 11:59:59 PM",
"zone": "13",
"Rental":
[
{"12/31/1999 11:59:59 PM": 12},
{"12/30/2999 11:59:59 PM": 13}
]
}
Теперь, чтобы проверить правильность заполнения объекта, Я отправляю объект обратно в ответ
public HttpResponseMessage Post([FromBody]JObject incoming)
{
string toString = JsonConvert.SerializeObject(incoming);
User request = JsonConvert.DeserializeObject<User>(toString);
return Request.CreateResponse(HttpStatusCode.OK, request);
}
Вложенный JSON всегда выглядит так:
"Rental": [
{
"Rental": null
},
{
"Rental": null
}
]
Мой вопрос: как мне построить класс Rental, чтобы Я могу правильно заполнить его вводом из моей строки JSON? Я пытался сохранить словарь проката в самом классе User вместо своего собственного класса, но он вернул ошибку.