литерал даты javascript/json

То, что дата является литеральной для JSON/JavaScript (если такая вещь делает, существует?)

17
задан OscarRyz 23 March 2010 в 22:23
поделиться

4 ответа

Литералы даты были предложены, а затем отозваны , возможно, мы увидим их в будущей редакции спецификации ECMA-262.

Поскольку нет литерала даты в JavaScript , нет и литерала для JSON (JavaScript Object Notation не было бы слишком хорошим именем, если бы он не мог быть проанализирован механизмом JavaScript; - )). По общему признанию, это прискорбно. Многие веб-службы выводят строку ISO 8601 , например 2010-03-23T23: 57Z , но для его синтаксического анализа в JavaScript вам нужно будет использовать настраиваемую библиотеку, создать настраиваемую функцию или полагаться на спецификацию синтаксического анализа даты ECMAScript 5th, в которой говорится, что реализации должны анализировать Строки ISO 8601 изначально.

Если это ваш собственный JSON, который будет анализироваться в JavaScript, вы можете использовать что-нибудь простое, например миллисекунды с 00:00 1 января 1970 года с идентификатором, а затем передать функцию восстановления в JSON.parse:

var myJSON = '{"MyDate":"@1269388885866@"}'
var myObj  = JSON.parse(myJSON, function (key, value)
{
   // Edit: don't forget to check the type == string!
   if (typeof value == "string" && value.slice(0, 1) == "@" && value.slice(-1) == "@")
       return new Date(+value.substring(1, -1));
   else
       return value;
}

Очевидно, вы Мне нужно было использовать собственный объект JSON, который есть в современных браузерах, или json2.js , чтобы использовать восстановитель при синтаксическом анализе.

19
ответ дан 30 November 2019 в 12:19
поделиться

Для литералов даты нет специального формата.

В Javascript вы можете написать новую дату (2010, 2, 23) (к сожалению, месяцы отсчитываются от нуля).

9
ответ дан 30 November 2019 в 12:19
поделиться

Для строкового представления даты JSON использует строковое представление, например «2010-03-24 ...», а для представления объекта используется объектная нотация «{...}»

0
ответ дан 30 November 2019 в 12:19
поделиться

зависит от сериализатора.

это может быть одно из:

/ Дата (1224043200000) /

/ Дата (1198908717056) / (Дата MS JSON)

/ Дата (1198908717056-1000) / (+/- часовой пояс)

новая дата («2010-03-24») (это общепринятый «javascript json», насколько я понимаю)

«2010-03-24»

и т. Д.

4
ответ дан 30 November 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: