Javascript 如何将字符串更改为Google图表数据

Javascript 如何将字符串更改为Google图表数据,javascript,google-visualization,Javascript,Google Visualization,我有一个responseText作为字符串,格式如下: [['0.00',4474.12], ['31.25',1995.16], ['62.50',44.98], ['93.75',16.86], ['125.00',9.10], ['156.25',5.76], ['187.50',3.99], ['218.75',2.92], ['250.00',2.21], ['281.25',1.71], ['312.50',1.33], ['343.75',1.03], ['375.00',0.77

我有一个
responseText
作为字符串,格式如下:

[['0.00',4474.12], ['31.25',1995.16], ['62.50',44.98], ['93.75',16.86], ['125.00',9.10], ['156.25',5.76], ['187.50',3.99], ['218.75',2.92], ['250.00',2.21], ['281.25',1.71], ['312.50',1.33], ['343.75',1.03], ['375.00',0.77], ['406.25',0.56], ['437.50',0.36], ['468.75',0.18]]
我想把它改成数组,以便在GoogleCharts API中输入
addRows()
函数

你能帮我用JavaScript完成吗


非常感谢。

您可以使用
JSON.parse
将文本转换为数组
(如其他问题所述,如果用双引号替换单引号)


编辑

如果数据格式为json对象,
您可以转换为谷歌图表的简单数组,
在语句中为…使用

请参阅以下工作片段

google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
var jsonData={“0.00”:3717.22,“31.25”:1657.63,“62.50”:37.37,“93.75”:14.00,“125.00”:7.56,“156.25”:4.79,“187.50”:3.32,“218.75”:2.43,“250.00”:1.84,“281.25”:1.42,“312.50”:1.10,“343.75”:0.85,“375.00”:0.64,“406.25”:0.46,“437.50”:0.30,“468.75”:0.15};
var arrayData=[];
//将json转换为google图表的简单数组
for(jsonData中的变量x){
if(jsonData.hasOwnProperty(x)){
arrayData.push([
x,,
jsonData[x]
]);
}
}
//将数组转换为google数据表
//确保为“第一行是数据”参数传递true
var data=google.visualization.arrayToDataTable(arrayData,true);
var chart=new google.visualization.LineChart(document.getElementById('chart_div'));
图表绘制(数据);
});

您可以使用,但由于您有
单引号
这些被视为在
JSON.parse()中,您需要首先替换它们,然后就可以开始了

console.log(JSON.parse(`[1,2,3]`))
log(JSON.parse(`[“1”,2]`))

console.log(JSON.parse(`['1',2]`))//这一行出现错误
WhiteHat,感谢您的帮助。我将您的代码更改为var text=this.responseText;JSON返回:“Uncaught(in promise)SyntaxError:位置0处JSON中的意外标记u”您还有其他想法吗?是的,伙计,很抱歉上次回答中没有包含数据。我的数据在这里:
[“0.00”,4524.58],“31.25”,2017.66],“62.50”,45.48],“93.75”,17.05],“125.00”,9.20],“156.25”,5.83],“187.50”,4.04],“218.75”,2.96],“250.00”,2.24],“281.25”,1.73],“312.50”,1.34],“343.75”,1.04],“375.00”,0.78],“406.25”,0.56,“437.50”,0.36],
,但是StackOverflow没有显示出来。错误是:“Uncaught(in promise)SyntaxError:JSON中位置0处的意外标记”@Đa omnhĐức似乎起作用了。我从JSFIDLE复制了您的代码并粘贴到其中,没有收到任何错误,下面是输出:我认为‘这不是问题,我正在尝试修复它,顺便说一句,谢谢您的友好帮助。@oMinhĐức您可以将replace更改为.replace(/['`]/g,
)这将删除`toowhy不将请求更改为-->
数据类型:`json'
--这样您就不需要转换字符串了。。。
var text = xhr.responseText;
var arrData = JSON.parse(text);
data.addRows(arrData);