如何在C#MVC中使用Json来创建一个二维数组

时间:2014-01-21 11:22:24

标签: c# asp.net-mvc arrays json

现在我有了这个课程

public class FooResult
{
    public int sEcho;
    public Foo[] aaData;
    internal FooResult()
    {
        sEcho = 1;
        aaData = new FooRepository().GetAll().ToArray();
    }
}

new FooRepository().GetAll().ToArray();会返回Foo s。

的数组

当我使用System.Web.Mvc.Controller.Json将此FooResult转换为JsonResult时,我得到了Json格式的字符串,如下所示:

{"sEcho":3, "aaData":[{"Name":"BarName"},{"Name":"FooName"}]}

但是,我希望aaData是一个二维数组而不是一个对象数组,这意味着它应该是这种格式:

{"sEcho":3, "aaData":[["BarName"],["FooName"]]}

我该怎么做?

1 个答案:

答案 0 :(得分:1)

对于这种情况,你可以使用类似的东西

internal FooResult()
{
    sEcho = 1;
    aaData = new FooRepository().GetAll()
                                .Select(foo=>new object[]{
                                    foo.Name
                                    /*other fields what need*/
                                 })
                                .ToArray();
}

或者您可以更改插件DataTables的设置并发送对象数组

注意
将类型aaDataFoo[]更改为object[][]