jquery $.ajax()
отправляет даты от браузера как json в формате ISO: yy-mm-dd
(или я могу использовать yyyy-mm-dd
, если это лучше) в корпусе POST
.Как принять формат даты ISO в ASP.NET Web API
Контроллер веб-интерфейса ASP.NET MVC4 содержит DateTime
свойство для этого.
Как получить значение даты в настройках культуры любого сервера?
Я попытался
public class TestController : ApiController {
public class PlaaniSisend
{
public DateTime date { get; set; }
}
[HttpPost]
public HttpResponseMessage Post([FromBody] PlaaniSisend vali)
{
Console.Write(vali.date);
}
}
Если сервер нить формат даты культура отличается от ISO, значение vali.date неправильно. Как исправить это, чтобы формат даты ISO использовался для анализа в любых настройках культуры сервера?
Возможно, много свойства даты в разных вложенных объектах, массивах и списках в размещенном json. Answer reqires, чтобы изменить все свойства DateTime на строку и написать ручной код для их анализа. Может быть, есть какая-то настройка в парсере WebAPI json или в другом месте, которое позволяет анализировать даты iso? Я могу изменить столбцы столбцов, размещенные в браузере, в какой-то другой инвариантный формат, если это помогает. – Andrus
Существует ISODateTimeConverter в Newtosoft.JSON, используемый в WebAPI. Может быть, можно использовать его для автоматического преобразования? – Andrus