我想使用amcharts,我想用JSON格式化我的圖表的數據。但是,似乎amcharts接受的語法不是有效的JSON。在amcharts中使用JSON - 如何修改JSON輸出(Ruby on Rails)
這裏是該數據用於硬編碼amchart圖表的JavaScript代碼:
var chartData = [{
country: "Czech Republic",
litres: 301.90
}];
下面是代碼,如果我想創建嵌入紅寶石同一圖表:
控制器
@chart_data = [{"country": "Czech Republic", "litres": 301.90}]
查看
var chartData = <%= @chart_data.to_json %>;
的valid JSON輸出:
[{"country": "Czech Republic", "litres": 301.90}]
然而,什麼amcharts接受的是:
[{country: "Czech Republic", litres: 301.90}]
因此,我的圖表不工作,因爲amcharts不接受有效的JSON。那麼有沒有一種方法可以創建「無效的」JSON而不用國家和公升的雙引號?還是有更好的方式來獲取amcharts接受的形式的數據?任何幫助將不勝感激。
下面是完整的JavaScript:
<script type="text/javascript">
var chart;
var legend;
var chartData = [{
country: "Czech Republic",
litres: 301.90
}, {
country: "Ireland",
litres: 201.10
}, {
country: "Germany",
litres: 165.80
}, {
country: "Australia",
litres: 139.90
}, {
country: "Austria",
litres: 128.30
}, {
country: "UK",
litres: 99.00
}, {
country: "Belgium",
litres: 60.00
}];
AmCharts.ready(function() {
// PIE CHART
chart = new AmCharts.AmPieChart();
chart.dataProvider = chartData;
chart.titleField = "country";
chart.valueField = "litres";
chart.outlineColor = "#FFFFFF";
chart.outlineAlpha = 0.8;
chart.outlineThickness = 2;
// WRITE
chart.write("chartdiv");
});
</script>
您能否提供一個您對amcharts打電話的例子嗎? – 2012-04-02 23:38:33
嗨喬,我添加了上面的完整的JavaScript的一個例子。除此之外,唯一的其他部分是包括可以從他們的網站下載的amcharts.js文件。我希望那是你的意思。如果沒有,請告訴我。 – diasks2 2012-04-03 01:13:49
在您給出的示例中,amCharts不會讀取JSON,而是瀏覽器的JS引擎,然後代碼將生成的對象傳遞給amCharts。但任何瀏覽器都應該處理解析正確的JSON。這裏究竟發生了什麼? – 2013-04-18 15:18:11