2013-06-03 121 views
1

我想序列化从Java到JSON对象Java日历和Java日期为Javascript日期。如何序列化Java日历和Java日期为Javascript日期

我希望在Javascript中,无需执行“eval”或“new Date”的变量Javascript日期具有Date值。

我试图返回“新日期(timeInMiliseconds)”,但我获得了,显然是'String'I。我知道我可以对这个“String”做“eval”,但我不想这样做。 我也尝试返回“miliseconds”,并在“Javascript”中调用“new Date()”,但我不想这样做。

的JSON目前看起来像

{hours:[ 
    {date:'new Date(1)', color:'fff'}, 
    {date:'new Date(2)', color: 'ddd'}, 
    ... ]} 

有什么建议?

信息:我正在使用Spring MVC和Jackson进行序列化。


编辑#1:

我知道这个方法:

的Java返回 -------------------- --- Javascript

“new Date(100000)”------------- var myDate = eval(“new Date(100000)”);

100000 ------------------------------ var myDate = new Date(10000);

但我正在搜索向客户端解析器指示发送的数据片段是日期表示的格式。 但是,如何将其转换为JavaScript Date对象?

+1

'new Date(timeInMiliseconds)'是什么问题? – mplungjan

+0

@mplungjan问题是Java返回String,而我不喜欢做eval。 – earnaz

+0

@mplungjan好的。如果我尝试每个var日期的Java返回值是“新日期(毫秒)”。在Javascript中,我需要对每个String var进行“eval”以获得Javscript Date。 – earnaz

回答

2

答案是否定的。

不能解析与date: "new date(123434534)"的字符串不evalnew Date(extracted timestamp)这样

object.date=new Date(object.date.replace(/[^\d]/g,"")); 

我仍然看不到为什么你需要传递的"new Date(timestamp)"

字符串你最好和意志如果您只是发送时间戳,则保存数据。

+0

我传递一串“新日期(时间戳)”来尝试找到解决方案。我知道这是一个糟糕的主意,最好的解决方案是以milis的形式返回。所以问题是,我希望在客户端有一个日期没有做“eval”或“新日期” – earnaz

+1

正如我回答:不可能 – mplungjan

+0

好吧,感谢您的时间 – earnaz