Ít nhất trong Firefox, bạn có thể stringify một đối tượng Date:Tại sao JSON.stringify() chấp nhận đối tượng Ngày?
>>> JSON.stringify({'now': new Date()})
'{"now":"2012-04-23T18:44:05.600Z"}'
này hoạt động vì (trong Firefox) Date
chứa một phương thức toJSON
được sử dụng bởi serializer JSON của nó. Tuy nhiên, đây không phải là một phần của tiêu chuẩn JSON vì vậy tôi tự hỏi tại sao phương thức này tồn tại hoặc đúng hơn tại sao trình serializer JSON dựng sẵn kiểm tra phương thức như vậy. Vì nó không được chuẩn hóa, bạn không thể sử dụng nó một cách an toàn nếu không kiểm tra đầu tiên nếu serializer dựng sẵn hiểu nó và sử dụng tùy chỉnh (ví dụ như json2.js)
Đây là một phần của tiêu chuẩn ECMAScript. – ChaosPandion
cũng tồn tại trong Chrome: Date.prototype.toJSON –
Tôi nghĩ rằng nó có thể đang gọi toString, nhưng tôi đã thử điều đó và bạn có định dạng chuỗi khác. – Andrea