从对象到数组重写json?

时间:2015-01-10 20:47:18

标签: javascript mysql json

我现在在太空中迷路了。我已经坐了2-3个小时来找到这个问题的解决方案,但我一直都在失败。也许我已经失明了。我讨厌寻求帮助,但我现在真的需要它。

我有一个以这种格式的页面的json响应:

[Object { timestamp="2015-01-04 21:05:16", value="25.4"},
Object { timestamp="2015-01-04 21:10:27", value="25.3"},
Object { timestamp="2015-01-04 21:15:38", value="28.7"},
Object { timestamp="2015-01-04 21:20:49", value="33.5"}]

我需要它看起来像这样:

[ [1183939200000,40.71],
[1184025600000,40.38],
[1184112000000,40.82],
[1184198400000,41.55],
[1184284800000,41.18],
[1184544000000,41.06]]

我已经尝试了很多东西,我觉得这很愚蠢,因为它可能是世界上最简单的东西。

提前谢谢!

编辑:

显然我从电话中回来的是:

[{"timestamp":"2015-01-04 21:05:16","value":"26.9"},
{"timestamp":"2015-01-04 21:10:27","value":"27.1"},
{"timestamp":"2015-01-04 21:15:38","value":"24.8"},
{"timestamp":"2015-01-04 21:20:49","value":"21.4"},
{"timestamp":"2015-01-04 21:26:01","value":"19.6"}]

我得到了"对象"一个当我在console.debug:编辑它。不知道这是否有所不同。

由于

1 个答案:

答案 0 :(得分:2)

假设数组中的第二个值应该等于对象的value成员:

arr = arr.map(function(obj) {
    return [
        Date.parse(obj.timestamp.replace(' ', 'T')),
        +obj.value
    ];
});

Date.parse函数将"2015-01-04T21:05:16"之类的字符串转换为JavaScript时间戳(ISO 8601格式)。这就是为什么你当前的格式需要稍微改变的原因。