5

私は Google チャートを使用しており、ライブラリを使用するのではなく、独自の JSON 形式を生成してチャートをレンダリングしようとしています。Googleチャートが理解できるjsonで日付形式を表現する方法を理解しようとすることを除いて、すべて順調です...

仕様: JSON は JavaScript 日付値をサポートしていません (たとえば、「new Date(2008,1,28,0,31,26)」; API 実装はサポートしています。ただし、API は日付のカスタムの有効な JSON 表現をサポートするようになりました次の形式の文字列として: Date(year, month, day[,hour, minutes, second[, millisecond]]) ここで、day 以降はすべてオプションで、月は 0 から始まります。

参照: https://developers.google.com/chart/interactive/docs/dev/implementing_data_source#jsondatatable

上記の仕様を読むと、json で Date(year, date, month) として表された日付形式が機能することが示されているように見えますが、これは私には機能しないようです。

エラー:

Uncaught Error: Type mismatch. Value Date(2012, 10, 3) does not match type date in column index 0 

json 応答:

{"type":"ComboChart","cols":[["date","Date"],["number","Overall"],["number","Current"],["number","Rating Count"]],"rows":[["Date(2012, 10, 3)",4.0,4.0,69],["Date(2012, 10, 4)",4.0,4.0,69]],"options":{"title":"Rating for FI","chartArea":{"width":"90%","height":"75%"},"hAxis":{"title":"Date"},"legend":"top","curveType":"none","pointSize":8,"seriesType":"bars","series":{"0":{"type":"bars","targetAxisIndex":0},"2":{"type":"line","targetAxisIndex":1}},"vAxes":{"0":{"title":"Rating","minValue":0,"maxValue":5},"1":{"title":"Rating Count"}}}}

これは仕様に必要な形式に従う必要があるため、何も飛び出していません。私は何が欠けていますか?

4

1 に答える 1

2

あなたの構文は間違っていると思います...次のようなことを試してみてください:

{"type":"ComboChart","cols":[["date","Date"],["number","Overall"],["number","Current"],["number","Rating Count"]],"rows":[["Date(2012, 10, 3)"]],["Date(2012, 10, 4)"]],"options":{"title":"Rating for FI","chartArea":{"width":"90%","height":"75%"},"hAxis":{"title":"Date"},"legend":"top","curveType":"none","pointSize":8,"seriesType":"bars","series":{"0":{"type":"bars","targetAxisIndex":0},"2":{"type":"line","targetAxisIndex":1}},"vAxes":{"0":{"title":"Rating","minValue":0,"maxValue":5},"1":{"title":"Rating Count"}}}}

私にとって、このコードは機能しました:

{"c":[{"v":"Date(2012,11)"},{"v":6657}.....

しかし、これは日ではなく月を変更し、jsonを使用することです....

于 2012-10-17T12:02:10.403 に答える