2013-09-25 88 views
0

我得到了谷歌圖工具的文檔上正確的JSON結構的用法,但檢查了這一點:谷歌圖表工具 - JSON格式

enter image description here

正如你所看到的,BARCHART看起來不錯,但破產PieChart

我使用相同的數據,你可以在這個JS看到:

function drawChart() { 
     var element = $('#overall'); 
     var element2 = $('#overall2'); 

     var link = element.data('link'); 

     var jsonData = $.ajax({ 
      url: link, 
      dataType:"json", 
      async: false 
      }).responseText; 

     // Create our data table out of JSON data loaded from server. 
     var data = new google.visualization.DataTable(jsonData); 


     // Set chart options 
     var options = {'title':'Overall progress', 
        'width':400, 
        'height':300}; 

     // Instantiate and draw our chart, passing in some options. 
     var chart = new google.visualization.BarChart(element[0]); 
     chart.draw(data, options); 



     var chart2 = new google.visualization.PieChart(element2[0]); 
     chart2.draw(data, options); 

    } 

這看起來很奇怪,因爲在this example from the docs,他們用餅圖具有相同的JSON。

的genarated JSON是這樣的:

{ 
    "cols": [ 
     {"id": "","label": "Topping","pattern": "","type": "string"}, 
     {"id": "","label": "Slices","pattern": "","type": "number"} 
    ], 

    "rows": [ 
     {"c": [{"v": "Mushrooms"},{"v": "3"}]}, 
     {"c": [{"v": "Onions"},{"v": "1"}]}, 
     {"c": [{"v": "Olives"},{"v": "1"}]}, 
     {"c": [{"v": "Zucchini"},{"v": "1"}]}, 
     {"c": [{"v": "Pepperoni"},{"v": "2"}]} 
    ] 
} 

有一點不同,仍然不會 「F」:屬性,因爲它是在服務器端NULL。我應該只格式發送null作爲一個字符串,並得到:「f」:「null」?沒有道理。

謝謝。

編輯

的ColumnChart和AreaChart都出來也未嘗不可。

回答

1

問題是你正在把數字加在引號上:{"v": "3"}應該是{"v": 3}

+0

它是因爲我序列化字符串而不是對象(來自Java方面)。我會將您的答案標記爲已接受,但稍後當我測試它時,我會在此處確認。這是爲什麼所有其他圖表工作,只有PieChart沒有。謝謝你的回答 –

+0

@ d34d_d3v1l,如果內存有問題,其他圖表也有使用字符串而不是數字的問題,但它們會更好地隱藏它。 – asgallant