【问题标题】:Creating an array from json String variable从 json String 变量创建一个数组
【发布时间】:2014-04-14 12:02:33
【问题描述】:

"[\"1454\",\"1455\",\"1456\",\"1457\",\"1458\",\"1459\"]"

我在我作为 json.stringify 发送的操作方法中的字符串变量中获取了一个 json 字符串。 这些是 jqgrid 中选定行的 id ..

我只想创建一个数组 我得到了。我不想要其他人 比如反斜杠或正向或双引号。

你能帮帮我吗?这在 C# 中怎么可能

Controller::
 public ActionResult ExportSelectedData(string SelectedRows)
        {
}

View Code::
function genGraph() {
        // location.href = "/WebReports/BatchReport";
        var selRowIds = $("#list1").jqGrid('getGridParam', 'selarrrow');
        var Array = JSON.stringify(selRowIds);

        $.ajax({
            type: 'POST',
            url: '/WebReports/ExportSelectedData',
            data: "{'SelectedRows':'" + Array + "'}",
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (returnValue) {
                location.href = "/WebReports/Download?file=" + returnValue.File;
            }
        });
        alert(Array);

【问题讨论】:

  • 可能你使用selRowIds.join()(或selRowIds.join(","))来制作字符串1454,1455,1456,1457,1458,1459而不是["1454","1455","1456","1457","1458","1459"]会更容易。所以你可以使用data: {SelectedRows: selRowIds.join()} 作为Ajax 的参数。在服务器端,您可以使用string[] selRows = SelectedRows.split(','); 来解析数据。
  • 您可以尝试将the approachModelBinder 一起使用,或者将int[]string[] 作为属性here 的简单使用对象交替使用。

标签: c# jquery json jqgrid


【解决方案1】:

这应该可以使用Newtonsoft.Json Library

string[] strings = JsonConvert.DeserializeObject<string[]>(jsonData);

下面是小提琴

http://dotnetfiddle.net/t5kBoy

【讨论】:

  • 您好,先生。上面的东西工作得很好,但是可以在简单的字符串对象中获取json字符串而不是作为字符串数组吗?
  • 简单字符串是什么意思?你想用逗号分隔吗?
  • 是的先生。实际上我希望它发送到使用“in”运算符的存储过程。我想从 Id 所在的表中获取记录(Above array)..
  • 检查已编辑的小提琴...并判断它是否正确
猜你喜欢
  • 2023-03-05
  • 1970-01-01
  • 2014-04-21
  • 2013-06-11
  • 2020-10-23
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 2021-01-27
相关资源
最近更新 更多