2010-10-21 63 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語句中使用哪種數據結構?它可能會影響結果。

相關問題