0

PHP で次の JSON オブジェクトを生成し、AJAX を介して JavaScript に渡しています。私が使用している Google Charts API は JSON の各日付に対して JavaScript 日付オブジェクトを必要とするため、この JSON オブジェクトはそのままでは十分ではありません。

現在、日付は UNIX タイムスタンプでエンコードされています -- 1199170800,1201849200,1343800800,1346479200。タイムスタンプの片側に正規表現の量指定子を追加し(つまり、〜1346479200)、REGEXを使用して量指定子に基づいて日付を見つけ、日付をJavaScriptオブジェクトに変換してから、各量指定子を正規表現に置き換えることができると思います。簡単に言った後、いくつかのことを行いました。

{"cols":[{"type":"date","label":"FromDate"},{"type":"number","label":"Electricity Use     
(KWH)"},{"type":"number","label":"Cooling Degree Days"}],"rows":[{"c":       
[{"v":1199170800,"f":"Jan-08"},{"v":"559280","f":"559,280"},{"v":"0"}]},{"c":
[{"v":1201849200,"f":"Feb-08"},{"v":"653193","f":"653,193"},{"v":"381"}]},{"c":
[{"v":1343800800,"f":"Aug-12"},{"v":"667874","f":"667,874"},{"v":"322"}]},{"c":
[{"v":1346479200,"f":"Sep-12"},{"v":"687299","f":"687,299"},{"v":"101"}]}]} 

いくつかのアイデアを得るために多くの同様の投稿を調べましたが、これを解決できません... 同様の、一見有用な投稿:

Javascript と一致する正規表現キーを使用してオブジェクトの値を取得するループ

http://sudarshanbhalerao.wordpress.com/2011/08/14/convert-json-date-into-javascript-date/

日付範囲 Google チャート ツール

4

1 に答える 1

0

正規表現は必要ありません。

  • JSONをJavaScriptオブジェクトに解析します。
  • 結果のオブジェクトの「行」キーをループします。
  • アイテムごとに、必要な値のように見える「c」キーを取得します。
  • 上記の例では、値は文字列であるため、を使用して整数に変換する必要がありますparseInt
  • それぞれで新しいDateオブジェクトを作成し、1000を掛けた整数値を渡します。そうするとnew Date(integer)、そのタイムスタンプを使用してオブジェクトが作成されますが、値は通常のUNIXタイムスタンプのように秒単位ではなくミリ秒単位であると予想されます。
于 2012-11-25T15:26:52.313 に答える