Почему JSON.stringify ()принимает объекты Date?

По крайней мере, в Firefox вы можете преобразовать объект Date в строку:

>>> JSON.stringify({'now': new Date()})
'{"now":"2012-04-23T18:44:05.600Z"}'

Это работает, потому что (в Firefox)Dateсодержит метод toJSON, который используется его сериализатором JSON. Однако это не является частью стандарта JSON, поэтому мне интересно, почему этот метод существует или, скорее, почему встроенный сериализатор JSON проверяет такой метод. Поскольку он не стандартизирован, вы все равно не можете безопасно использовать его без предварительного тестирования, понимает ли его встроенный сериализатор, и в противном случае используйте пользовательский (, такой как json2.js)

12
задан ThiefMaster 23 April 2012 в 18:46
поделиться