【问题标题】:Parse JSON Data without keynames to List of custom object将没有键名的 JSON 数据解析为自定义对象列表
【发布时间】:2013-11-05 09:49:47
【问题描述】:

MVC4 中使用datatables.net,我正在尝试使用jQuery AJAX POST 将我的排序/渲染数据从数据表传递到我的控制器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);
}

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

这是我的示例 JSON 字符串:

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

【问题讨论】:

    标签: c# asp.net jquery asp.net-mvc-4 datatables


    【解决方案1】:

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

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 2021-11-14
      相关资源
      最近更新 更多