0

在此示例中https://google-developers.appspot.com/chart/interactive/docs/quick_start该方法data.addRows()采用列表列表。

我有一个返回此数据的 URI (/data/mydata.json)

[["Canada", 66], ["Turkey", 10], ["Hungary", 23], ["Italy", 49]]

使用 JQuery 的 $.parseJSON(),我得到了错误SyntaxError: JSON.parse: unexpected character

如何以它想要的格式将该数据放入该方法中?

更新

我跑了alert($.parseJSON('/data/mydata.json')),它解析和显示数据就好了。似乎 data.addRows() 是引发错误的那个。

这是完整的代码:

google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(drawChart)
function drawChart(){
var data = new google.visualization.DataTable();
data.addColumn('string', 'Country');
data.addColumn('number', 'Node Count');
data.addRows($.parseJSON('/data/mydata.json'));

var options = {'title':'Tor Nodes by Country',
           'width':800,
           'height':600};

var chart = new google.visualization.PieChart(document.getElementById('nodes'));
chart.draw(data, options);

}

4

1 回答 1

0

JQuery 完美解析 JSON 数据。输出是一个数组数组。

这是一个 JS 示例,它是如何工作的:

var json_data = "[[\"Canada\", 66], [\"Turkey\", 10], [\"Hungary\", 23], [\"Italy\", 49]]";
var parsed_data = $.parseJSON(json_data);

document.write('<table><tr><th>City</th><th>number</th></tr>');
for (var i=0; i < parsed_data.length; i++) {
    document.write('<tr><td>' + parsed_data[i][0] + '</td>');
    document.write('<td>' + parsed_data[i][1] + '</td></tr>');
}
document.write('</table>');

您确定既然您不知道如何检索数据,那么您确定 JQuery 在检索时没有将输入解析为 JSON 吗?

这是一个显示 json_data 内容的 JSFiddle 链接

于 2013-05-14T10:39:06.713 回答