2013-06-03 95 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