ディクショナリ オブジェクトをコントローラーからビュー内の JavaScript に渡すときに問題が発生しています。私は ASP .Net MVC3 を使用しています。データベースからのデータを使用してチャート/グラフィックスを作成しようとしています。HighCharts JavaScript を見つけて、それを操作しようとしています。次に例を示します。
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'column'
},
title: {
text: 'Stacked column chart'
},
xAxis: {
categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
},
yAxis: {
min: 0,
title: {
text: 'Total fruit consumption'
}
},
tooltip: {
formatter: function() {
return ''+
this.series.name +': '+ this.y +' ('+ Math.round(this.percentage) +'%)';
}
},
plotOptions: {
column: {
stacking: 'percent'
}
},
series: [{
name: 'John',
data: [5, 3, 4, 7, 2]
}, {
name: 'Jane',
data: [2, 2, 3, 2, 1]
}, {
name: 'Joe',
data: [3, 4, 4, 2, 5]
}]
});
});
});
シリーズ変数に辞書を入力したいのですが、使用しているメソッドは次のとおりです。
public ActionResult GetSeries()
{
var series= new Dictionary<string, int[]> {
{ "pa", new int[]{1,2,3,4,5} },
{ "papa", new int[]{1,2,3,4,5} },
{ "papapa", new int[]{1,2,3,4,5} },
};
return Json(series, JsonRequestBehavior.AllowGet);
}
{"pa":[1,2,3,4,5],"papa":[1,2,3,4,5]," papapa
":[1,2,3, 4,5]}
そのため、各フィールドの前に名前とデータを持つJavaScriptの構文と同じ構文ではありません
ところで、私はこれを使ってデータを埋めています
$.getJSON('@Url.Action("GetSeries)', function(series) {
...
series: series
...
});
よろしく、ヘルダー