Настройка пользовательских дат WebApi Json.NET

Я использую глобальное kernel ​​настроенное приложение MVC4 для использования сериализатора JSON.NET. Я знаю, что у меня есть выбор использования стандартных дат ISO или старого формата даты Microsoft при сериализации дат.

Но как я могу вывести свою собственную строку формата даты в формате DateTime, например: «dd / MM / yyyy hh: mm».

Я мог бы сделать это в MVC3 при подключении Json.NET в качестве сериализатора по умолчанию, но, похоже, не работает в MVC4.

До сих пор в приложении application_start я сделал:

var settings = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings; JsonSerializerSettings jSettings = new Newtonsoft.Json.JsonSerializerSettings() { Formatting = Formatting.Indented, DateTimeZoneHandling = DateTimeZoneHandling.Utc, }; jSettings.Converters.Add(new MyDateTimeConvertor() ); settings = jSettings; 

и пользовательский конвертер, который я пытался внедрить, выглядит так:

  public class MyDateTimeConvertor : DateTimeConverterBase { public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { return DateTime.Parse(reader.Value.ToString()); } public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteValue(((DateTime)value).ToString("dd/MM/yyyy hh:mm")); } } 

Anyhelp будет оценен 🙂

Измените настройки, настроенные таким образом:

 JsonMediaTypeFormatter jsonFormatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter; JsonSerializerSettings jSettings = new Newtonsoft.Json.JsonSerializerSettings() { Formatting = Formatting.Indented, DateTimeZoneHandling = DateTimeZoneHandling.Utc }; jSettings.Converters.Add(new MyDateTimeConvertor()); jsonFormatter.SerializerSettings = jSettings; 

В вашем коде вы просто меняете значение локальной переменной.

Спасибо, я схожу с ума, это очень сработало для меня, вставьте это в Global.asax.cs

 JsonMediaTypeFormatter jsonFormatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter; JsonSerializerSettings jSettings =... 

создать class MyDateTimeConvertor, вставить его в class

 public class MyDateTimeConvertor : DateTimeConverterBase { public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { return DateTime... 

wep api mvc4, веб-службы, пользовательский формат даты.

  • Можно ли указать путь в атрибуте для сопоставления свойства в моем classе с дочерним свойством в моем JSON?
  • как десериализовать JSON в IEnumerable с помощью Newtonsoft JSON.NET
  • Deserialize json с известными и неизвестными полями
  • Как я могу вернуть CamelCase JSON, сериализованный JSON.NET из методов controllerа ASP.NET MVC?
  • Дезаминирование гетерогенного массива JSON в ковариантный список с использованием JSON.NET
  • JSON.Net Обнаружен собственный цикл привязки
  • Использование преобразователей Json.NET для десериализации свойств
  • Не удалось загрузить файл или сборку «Newtonsoft.Json» или одну из его зависимостей. Определение манифеста не соответствует ссылке на сборку
  • Сериализация нескольких свойств DateTime в одном classе с использованием разных форматов для каждого из них
  • Разбор большого json-файла в .NET.
  • Как десериализовать JSON с двойными именами свойств в одном и том же объекте
  • Interesting Posts

    Дата прибытия в Windows 10

    Как создать отдельные галереи Fancybox на одной странице?

    Запуск службы (или служб) с помощью двойного щелчка без приглашения UAC

    Как остановить центр действий Windows 10 от уведомления обо всем, когда я получаю электронное письмо?

    Необходимо обрабатывать неперехваченное исключение и отправлять файл журнала

    Настройте гостевую гостевую систему Virtualbox со статическим IP-адресом, SSH и доступом в Интернет от хоста

    getApplicationContext (), getBaseContext (), getApplication (), getParent ()

    USB-накопитель постоянно отключается и снова подключается

    Как превратить json в class case, когда class case имеет только одно поле

    Можно ли использовать мобильный телефон в качестве USB-модема?

    SSO с CAS или OAuth?

    Структура данных и адрес Firebase

    Как подавить предупреждения о неиспользованном параметре в C?

    Метод Meteor против deny / allow

    Контролировать использование сети процесса?

    Давайте будем гением компьютера.