簡體   English   中英

谷歌圖表json日期反應

[英]google charts json date react

我一直在嘗試使用帶有反應的 Google 圖表。 它運行良好,但我已將數據從本地文件移動到 mongoDB,這給了我一個日期問題。 使用我的測試數據,我使用 new Date(...) 在 google-charts 中添加了正確的數據格式。 移動數據后,我從 DB 獲取數據作為 JSON,這給我帶來了日期問題,這些日期只是作為字符串打印在我的圖表上。

我在 google 的圖表文檔上讀過,如果我按以下順序“日期(2015、3、3)”保留數據,它們會自動從 JSON 字符串重建日期對象。

我的數據如下所示:

{ data: 
  [ [ 'Dato', 'Place1', 'Place2' ],
  [ 'Date(2015-9-2)', 100, 0 ],
  [ 'Date(2015-9-3)', 850, 0 ],
  [ 'Date(2015-9-4)', 1125, 0 ],
  [ 'Date(2015-9-5)', 0, 1900 ] ],
  path: 'Gennemsnitlig liggetid fordelt på kommuner' 
}

它仍然被解釋為谷歌圖表中的字符串。 我看過其他例子,他們使用行和列。 不知道是不是我的錯。 這是 Stackoverflow 的一個例子:

 {"rows":[{"c":[{"v":"Date(year, month)"},{"v":"2095"}]}],"cols":
[{"type":"datetime","label":"DTU"},{"type":"number","label":"COUNT"}]}

所以,總結一下。 使用我的測試數據時一切正常。 當我從數據庫獲取數據時,該圖仍然有效。 但是我從數據庫收到的字符串日期沒有被谷歌圖表識別為日期。

希望得到一些幫助或反饋

問候

馬丁

我在 google 的圖表文檔上讀過,如果我按以下順序“日期(2015、3、3)”保留數據,它們會自動從 JSON 字符串重建日期對象。

你在哪里見過這個? 無論哪種方式,正確的格式是

[ new Date('2015-9-2'), 100, 0 ]

即一個有效的 dateString

[ new Date(2015,9,2), 100, 0 ]

您可以清理數據,以便通過這種方式獲得圖表中顯示的正確日期值:

var testData = { data: 
  [ [ 'Dato', 'Place1', 'Place2' ],
  [ 'Date(2015-9-2)', 100, 0 ],
  [ 'Date(2015-9-3)', 850, 0 ],
  [ 'Date(2015-9-4)', 1125, 0 ],
  [ 'Date(2015-9-5)', 0, 1900 ] ],
  path: 'Gennemsnitlig liggetid fordelt på kommuner' 
}    

for (var i=1;i<testData.data.length;i++) {
  testData.data[i][0] = new Date(testData.data[i][0].match(/\(([^)]+)\)/)[1]);
}

以上只是提取(..)之間的 dateString 並將第一列中的字符串替換為new Date(..)

演示 -> http://jsfiddle.net/xxvymn7o/

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM