从C#中的asp.net MVC控制器发送JSON数据到highcharts饼

Dra*_*ouf 6 c# asp.net-mvc json highcharts pie-chart

我想从C#中的asp.net MVC控制器发送json数据,并使用这些数据绘制一个highcharts饼图.

所以暂时我用这个:

Dictionary<string, double> result = new Dictionary<string, double>();
result.Add("test1", 45);
result.Add("test2", 64);

var jsonResult = Json(new
{
    graphDivId = "divGraph",
    legend = "A legend",
    stats = result ,
});

jsonResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return jsonResult;
Run Code Online (Sandbox Code Playgroud)

但是当我在jquery中通过ajax调用接收数据时,我有这样的:

stats:[{"Key":"test1","Value":45},{"Key":"test2","Value":64}]
Run Code Online (Sandbox Code Playgroud)

但我需要这个:

stats:[["test1",45],["test2",64]]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

ek_*_*_ny 3

今天早上我在玩这个,我想出了下面的内容 - 但它不会工作,因为你会得到 [{x:"testx", y:60}....]。所以这样不好。不过,您也许可以使用它并重写 SimpleClass 上的 ToJSON 方法。

我的另一个想法(我不确定它是否有效)是拥有一个 ArrayList 的集合。由于 ArrayList 不是强类型,因此您可以向它们添加 string 和 double 属性。

让我知道结果如何。

如果您使用简单对象的列表会怎样?您也许可以使用键值对或其他一些现有类。但是您可以创建一个简单的类来保存您的数据。

   class SimpleClass{
       public int x{set; get;}
       public double y{set; get;}
   } 

    var results = new List<SimpleClass>();
    results.Add(new SimpleClass{x="test3", y=42});        
    results.Add(new SimpleClass{x="test2", y=99});
Run Code Online (Sandbox Code Playgroud)