1

我在 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 数据结构在序列化时会产生后者的结果?或者,我是否必须使用不同的库/自己滚动?

4

2 回答 2

0

你可以试试Json.net

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

抱歉,我没有基于您的数据的示例,但它应该可以工作。

于 2011-03-09T17:00:10.633 回答
0

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

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

虽然我的代码中不应该存在这种方法,但结果正如预期的那样。它还取决于您处理 Json 对象的方式。当我阅读您的 Json 结果时,我看到有一个名为41_A4N1A-1value的属性0

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

于 2012-03-07T19:02:03.577 回答