Форматы даты анализа JSON? - PullRequest
5 голосов
/ 17 июня 2010

Правильно ли я считаю, что мне нужно вручную преобразовывать строки даты в кодировке Json в объекты даты в моем клиентском коде?

Исходя из C #, я считал само собой разумеющимся, что это происходит автоматически, но я предполагаю, что это было .NET.

Есть ли встроенный механизм для получения собственных типов javascript из строки Json (для дат, целых и т. д.)?

Спасибо.

Ответы [ 5 ]

5 голосов
/ 17 июня 2010

Спецификация JSON не определяет тип данных даты.Это оставлено на ваше усмотрение.

См. Раздел A.8: http://www.ecma -international.org / публикации / файлы / ECMA-ST / ECMA-262.pdf

1 голос
/ 27 декабря 2010

Автоматическое преобразование строк даты в ISO и Asp.net в даты

Если вы используете какую-либо клиентскую библиотеку, такую ​​как jQuery, вы можете использовать мое расширение jQuery, которое позволяет автоматически конвертировать даты ISO и Asp.net в фактические даты, используя $.parseJSON().

Проверьте мой блог для кода.

1 голос
/ 17 июня 2010

см. Автономная сериализация JSON на MSDN , которая предоставляет документацию по реализации MS

1 голос
/ 17 июня 2010

JSON не имеет стандартного типа даты.Существуют различные библиотеки (включая .NET) с несовместимыми расширениями для его представления.

0 голосов
/ 12 декабря 2015

JSON.parse () поддерживает параметр замены.

JSON.stringify(value[, replacer[, space]])

См. подробности в MDN

Таким образом, вы можете легко обрабатывать тип даты в json.

function replacer(key, value) {
  return key == "date1" || key == "date2" ? new Date(value) : value;
}

var obj = {
    date1:"5/21/2012 4:49:17 PM",
    date2:new Date()
}
var jsonString = JSON.stringify(obj);
console.log(jsonString);
var jsonObj = JSON.parse(jsonString, replacer);
console.log(jsonObj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...