У меня есть следующее поле валидатор объект:магазин `новый Date()` в объект JSON
{ type:'date', 'min':new Date() }
Я надеялся, что я мог бы хранить new Date()
как выражение в формате JSON, и она будет выполнена, когда он разобран
У меня есть следующее поле валидатор объект:магазин `новый Date()` в объект JSON
{ type:'date', 'min':new Date() }
Я надеялся, что я мог бы хранить new Date()
как выражение в формате JSON, и она будет выполнена, когда он разобран
сохранить метку времени:
{ type:'date', 'min':(new Date()).getTime() }
после прочтения его обратно:
var result = JSON.parse('{ "type":"date", "min":1234567 }');
result.date = new Date(result.min);
потому что это проверка поля. Я надеялся, что смогу сделать динамику 'мин'. Таким образом, когда страница загружается и sql отправляет этот объект проверки, он обрабатывается как дата, а не статическая дата. Имеет ли это смысл? – stackoverfloweth
нет смысла совсем. Json - это данные. Вы сохраняете его с некоторой ценностью, вы его возвращаете. «dynamic» - это код: вы выполняете функцию, и когда вы вызываете ее, она возвращает дату в этот момент. для этого вам не нужно иметь мин в json вообще – Gavriel
ладно спасибо за вашу помощь – stackoverfloweth
Дата объекта, на самом деле имеет метод toJSON
, который может вам пригодиться. Однако я предлагаю использовать getTime
, поскольку он возвращает метку времени, которая обычно более гибкая.
JSON не поддерживает тип данных Date (он поддерживает только строки число, объекта, массива, истинного, ложного и нуля). Вам нужно преобразовать его в строку.
Например, время ISO:
var json = JSON.stringify({ type:'date', 'min':new Date().toISOString() });
document.body.appendChild(document.createTextNode(json));
Вы не можете сохранить весь объект Date в строку JSON. Но вы можете попытаться сохранить текст, представляющий его:
Как строка:
{ type:'date', 'min':(new Date()).toString() }
В качестве временной метки:
{ type:'date', 'min':(new Date()).getTime() }
В качестве строки ISO:
{ type:'date', 'min':(new Date()).toJSON() }
Вы можете 't хранить выражение в JSON и ожидать, что он будет выполнен, когда он будет разобран. – pawel
Трудно сказать без контекста. Это формат, требуемый какой-либо внешней библиотекой? Вы создаете JSON на стороне сервера? Woulld можно refacotr валидатор, чтобы он мог принять объект типа '{type: 'date', allowPast: false}'? – pawel
, который мог бы работать, спасибо @pawel – stackoverfloweth