0

使用datatables.netin ,我正在尝试使用 jQuery AJAX POSTMVC4将排序/渲染的数据从数据表传递到我的控制器。ActionResult这是我的代码:

$.ajax({
     url: "urlGoesHere",
     dataType: 'JSON',
     data: "{'jsonString':'" + JSON.stringify(data) + "', 'someParams':'" + someParamsVar + "'}",
     type: "POST",
     contentType: "application/json;charset=utf-8"
});

在我的控制器中,使用 NewtonSoft 的库,我正在尝试转换发布的数据:

public ActionResult ActionName(string jsonString, string someParams)
{
    List<myObjectName> requestData = JsonConvert.DeserializeObject<List<myObjectName>>(jsonString);
}

但是,jsonStringvalue 似乎是一个没有键名的 JSON 数组。如何将其转换为列表?尝试了不同的序列化方式,但这些都没有给我进步。

这是我的示例 JSON 字符串:

[
    [
        "1",
        "01/09/2013",
        "04/09/2013",
        "07/09/2013",
        "lexeRoy"
    ],
    [
        "2",
        "02/09/2013",
        "03/09/2013",
        "04/09/2013",
        "myName"
    ]
]
4

1 回答 1

0

这就是反序列化一维数组的方式。它应该适用于任何嵌套数组。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

string json = "" +
                "  [" +
                "     \"Steve\"," +
                "     \"was\"," +
                "     \"here\"" +
                "   ]" +
                "";

String[] data = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<String[]>(json);
于 2013-12-03T18:15:03.547 回答