JSON发布操作将对象值转换为字符串类型

时间:2014-02-11 19:42:40

标签: javascript ajax node.js

我有一个包含日期对象的对象。当我将它发布到NodeJS服务器时,它仍然是一个对象,但时间已转换为字符串。有什么方法可以避免这种情况吗?我无法解析整个对象,因为我得到一个“意外的令牌o”错误(我假设因为它仍然是一个对象)。

在:

Object {title: " - fd", start: Tue Feb 11 2014 09:00:00 GMT-0500 (EST), end: Tue Feb 11 2014 10:00:00 GMT-0500 (EST), allDay: false, id: ""…}

之后:

Object
allDay: "false"
end: "Tue Feb 11 2014 10:00:00 GMT-0500 (EST)"
id: ""
room: "Shower 1"
start: "Tue Feb 11 2014 09:00:00 GMT-0500 (EST)"
title: " - fd"

1 个答案:

答案 0 :(得分:1)

您不能在JSON中包含Date个对象。您可以将它们转换为数字并返回服务器上的日期:

// Convert Date to number on client side
objToSend.foo.myDate = objToSend.foo.myDate.getTime();

// Convert number to date on server side
objReceived.foo.myDate = new Date(+objReceived.foo.myDate);

这要求您的应用程序知道哪些属性是日期,哪些属性不是。