2010-10-21 83 views
1

我在ASP.net MVC控制器输出JsonResult像这样:如何创建与Highcharts一起使用的特定Json输出?

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数据结构在序列化时会产生后一个结果?或者,我是否必须使用不同的图书馆/推出自己的图书馆?

+0

你能链接到那些文档,因为你显示的是无效的JSON? – 2010-10-21 19:22:18

+0

你能提供整个回报?我之前已经处理过这个问题,并且我记得使用.ToArray()方法以正确的方式显示数据。 – 2012-03-07 18:53:32

回答

0

你可以尝试Json.net

用它来序列化你所希望的方式(请确保它可以得到格式正确的,我相信它可以),那么只需把这个字符串输出到内容的结果,并设置内容类型等...

对不起,我没有一个基于您的数据的例子,但它应该工作。

0

正如我comented,这里是我如何在正确返回数据的方式来使用它在我的代码示例:

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

虽然这种方法应该在我的代码不存在的,结果来正如预期的那样。这也取决于你处理你的Json对象的方式。在阅读您的Json结果时,我发现有一个名为41_A4N1A-1的属性,其值为0

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

相关问题