如何创建特定的Json输出以用于Highcharts?

时间:2010-10-21 17:17:44

标签: asp.net-mvc json tuples highcharts

我在ASP.net MVC中有一个控制器输出一个像这样的JsonResult:

 return Json(new { [...] }, JsonRequestBehavior.AllowGet);

......看起来像这样:

"data":{"41_A4N1A-1":0,"41_A4N1A-2":0,"41_C4G1A-1":0,"41_C4G1A-2":0,"41_R2N1S-1":0,...

但是,Highcharts的文档表明数据预计如下:

"data":{"41_A4N1A-1",0},{"41_A4N1A-2",0},{"41_C4G1A-1",0},{"41_C4G1A-2",0},{"41_R2N1S-1",0},...

请注意逗号而不是冒号和每个值的花括号。什么.Net数据结构在序列化时会产生后者的结果?或者,我是否必须使用不同的库/滚动?

2 个答案:

答案 0 :(得分:0)

您可以尝试Json.net

使用它来序列化你想要的方式(确保它可以正确的格式,我相信它可以)然后只是将字符串输出传递给内容结果并设置内容类型等...

抱歉,我没有基于您的数据的示例,但它应该有效。

答案 1 :(得分:0)

正如我所说,这是一个如何在我的代码中以正确返回数据的方式使用它的示例:

return Json(new PeriodList().ToArray(), JsonRequestBehavior.AllowGet);

虽然我的代码中不应该存在此方法,但结果与预期一致。它还取决于您处理Json对象的方式。当我读到你的Json结果时,我发现有一个名为41_A4N1A-1的属性,例如值0

另外,您在return语句中使用了哪种数据结构?它可能会影响结果。