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 に答える