2012-11-21 99 views
0

我正在創建一個日期在那裏的json數組。如何將json日期當作日期而不是字符串?

$result[] = array('startDate' => date("D M j G:i:s T Y"), 
          'endDate' => date("D M j G:i:s T Y"), 
          'title' => $event->title, 
          'description'=>$event->summary, 
          'priority'=>2); 

結果我得到的是:

{ 
startDate: "Wed Nov 21 0:55:44 UTC 2012", 
endDate: "Wed Nov 21 0:55:44 UTC 2012", 
title: "title", 
description: "desc", 
priority: 2 
} 

,但我不想日期被引用爲字符串,我需要的是這樣的:

{ 
startDate: Wed Nov 21 0:55:44 UTC 2012, 
endDate: Wed Nov 21 0:55:44 UTC 2012, 
title: "title", 
description: "desc", 
priority: 2 
} 

那麼,有沒有辦法該日期不被視爲一個字符串?

+0

你是如何從數組中生成JSON字符串的? –

+0

我使用json_encode函數 – sm13294

+2

不是引用字符串以確保JSON格式正確嗎?例如,如果該字符串未被引用,並且您恰好有逗號,那麼JSON將被解釋爲在那裏結束該值。並開始一個新的,從而破壞代碼。我不明白你爲什麼需要它不加引號。你能詳細說明你的理由嗎? –

回答

3

JSON中沒有DATE值。唯一允許的 「價值」,在JSON結構是:

  • 對象
  • 陣列
  • 雙引號字符串
  • 號(整數或浮點數)
  • 布爾(truefalse不帶引號)
  • null

所以你要求的不是JSON格式。您需要構建自己的類JSON序列化程序,或者在執行json_encode以刪除雙引號後修改該字符串。

或者,您可以將JSON保持原樣,然後使用javascript將字符串解析爲javascript Date對象,這似乎是該庫的預期輸入。

看到這篇文章關於如何解析字符串到JavaScript中的日期對象。

Difference between Date(dateString) and new Date(dateString)

注意:您可能需要更改日期格式,你有什麼是不是的通常接受的javascript dateString格式之一。

相關問題