0

我在 php 中生成了以下 JSON 对象,并通过 AJAX 将其传递给我的 javascript。这个 JSON 对象本身是不够的,因为我使用的 Google Charts API 需要一个用于 JSON 中每个日期的 javascript 日期对象。

我的日期目前以 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/

日期范围谷歌图表工具

4

1 回答 1

0

不需要正则表达式。

  • 将 JSON 解析为 JavaScript 对象。
  • 循环遍历结果对象的“rows”键。
  • 对于每个项目,获取“c”键,这看起来就是您需要的值。
  • 在上面的示例中,值是字符串,因此您应该使用 将它们转换为整数parseInt
  • 为每个对象创建一个新Date对象,并将整数值乘以 1000 传递给它。如果这样做new Date(integer),它将使用该时间戳创建一个对象,但该值应以毫秒为单位,而不是像普通 UNIX 时间戳那样以秒为单位。
于 2012-11-25T15:26:52.313 回答