我已經在這個數據從使用jquery的方法的getJSON一個REST方法到來。轉換一個javascript字符串轉換成2維陣列
"[Date.UTC(2010,0,0,0,0,0,0), 157],[Date.UTC(2010,0,0,0,0,420,1), 157],[Date.UTC(2010,0,0,0,0,420,2), 282],[Date.UTC(2010,0,0,0,0,600,3), 282],[Date.UTC(2010,0,0,0,0,600,4), 125],[Date.UTC(2010,0,0,0,0,900,5), 125],[Date.UTC(2010,0,0,0,0,900,6), 282],[Date.UTC(2010,0,0,0,0,2100,7), 282],[Date.UTC(2010,0,0,0,0,2100,8), 125],[Date.UTC(2010,0,0,0,0,2400,9), 125],[Date.UTC(2010,0,0,0,0,2400,10), 295],[Date.UTC(2010,0,0,0,0,3600,11), 295],[Date.UTC(2010,0,0,0,0,3600,12), 125],[Date.UTC(2010,0,0,0,0,3900,13), 125],[Date.UTC(2010,0,0,0,0,3900,14), 288],[Date.UTC(2010,0,0,0,0,5100,15), 288],[Date.UTC(2010,0,0,0,0,5100,16), 125],[Date.UTC(2010,0,0,0,0,5400,17), 125]"
它作爲字符串返回。我需要將它解析爲一個二維數組。數組中的每個項目都應該有一個日期和一個值。
我也有過REST方法完全控制,這樣我就可以改變數據的方式回報。我有興趣儘可能快地完成這項工作。
下面就是我們現在,我認爲可以改進做:
var jqxhr = $.getJSON(getDataURL, function(dataResult) {
var result = dataResult;
result =result.replace(/\]\,\[/g, ']:[');
result = result.replace(/\)\,/g, ');');
var tempArray = result.split(':');
var myarray = new Array();
myarray[0] = new Array(2); // Make the first element an array of two elements
for(i = 0; i < tempArray.length; i ++)
{
myarray[i] = tempArray[i].split(';');
myarray[i][1] = myarray[i][1].replace(/\"/g,'');
myarray[i][1] = myarray[i][1].replace(/\]/g,'');
myarray[i][0] = myarray[i][0].replace(/\[/g,'');
}
})
的可怕,因爲它的聲音,我把支架在開始和字符串的結尾,並使用eval –
@Joseph我想過使用jQuery.parseJSON,但我不認爲我的字符串對該函數有效。 http://api.jquery.com/jQuery.parseJSON/我會嘗試發回數據,所以它是有效的。 – Nate