如何让JsonResult返回一个数组数组(没有字段名)而不是一个对象数组?

Jed*_*dja 4 asp.net-mvc json flot

我有一个IEnumerable日期/值对列表,我将作为Json列表返回到flot.但是,当我调用JsonResult()时,结果如下所示:

[{"Date":date1, "Value":value1}, {"Date":date2, "Value":value2}...]
Run Code Online (Sandbox Code Playgroud)

Flot期待

[[date1, value1], [date2, value2]...]
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法让MVC框架输出这样的对象,还是我需要编写自己的seralizer/StringBuffer代码?就此而言,我甚至不需要输出字段名称,只需输出值本身.

Çağ*_*kin 5

这些日期/价值对的类型是System.Web.UI.Pair?如果是这样,你可以这样做;

return Json(yourIEnumerable.Select(x => new[] { x.First, x.Second }).ToArray());
Run Code Online (Sandbox Code Playgroud)

它以你想要的方式返回;

[["\/Date(1255686550232)\/","foo"],["\/Date(1255686550232)\/","bar"]]
Run Code Online (Sandbox Code Playgroud)

即使他们不是那种类型System.Web.UI.Pair,我相信你明白了.