如何在Google可视化图表上加载JSON数据?

6

我是一名新手使用google-visualization。我正在开发一个完整的仪表盘,类似于google full dashboard example

按照示例,我像这样声明数据:

var data = google.visualization.arrayToDataTable([
    ['CodiceCliente', 'Cliente', 'QtàO13', 'QtàO14','UM'],
        ['0000038893', 'Coop',300,350, 'CT'] .... ]);

现在我想从服务器加载数据。我创建了一个像这样的Json:
{
"cols": [
    {"id": "codiceCliente","label": "Cod. Cliente","type": "string"},
    {"id": "clienteDesc","label": "Cliente","type": "string"},
    {"id": "qtaO13","label": "Qtà O13","type": "number"},
    {"id": "qtaO14","label": "Qtà O14","type": "number"},
    {"id": "um","label": "UM","type": "string"}
       ],
"rows": [
    {
        "c": [
            {"v": "0000038893"},
            {"v": "Coop"},
            {"v": "300"},
            {"v": "350"},
            {"v": "CT"} ]
        }, 
        {.... }, ... ]}

在 HTML 页面中,我使用以下代码从服务器获取数据:
 var jsonData = $.ajax({
      url: "getJson.do",
      dataType:"json",
      async: false
      }).responseText;
  var data = google.visualization.DataTable(jsonData);

当我打开页面时,出现以下错误:" Object # has no method 'zg' at format+it,default+it,ui+it,controls+it,corechart+it.I.js:183 "。请问我做错了什么?是JSON格式有误吗?

我自己也觉得这个功能很令人困惑。我发现测试的最简单方法是:使用arrayToDataTable调用生成的DataTable,在该DataTable上调用toJSON,并将其输出与您生成的输入进行比较。差异可能就是您出错的地方。 - Jeremy Faller
1个回答

5
您在 DataTable 构造函数中缺少了 new 关键字。正确的写法应该是:
var data = new google.visualization.DataTable(jsonData);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接