c# - 如何让json数组解析在服务端工作

标签 c# jquery asp.net-mvc json

我在我的服务器端有一个 Action :

public void Action(Container container)
{
}

容器在哪里:

public class Container
{
   public string[] Arr;
}

从客户端,我通过以下方式调用此操作:

$.post("Controller/Action", { Arr: "abc" }, null, "json");

在此之后,容器中的Arr包含一个元素“abc”。

但是,在以下面的方式调用操作时:

$.post("Controller/Action", { Arr: ["abc", "def"] }, null, "json");

json 数组没有在服务器端反序列化。容器中的 ArrNULL

如何让这个简单的东西发挥作用?

问候

最佳答案

如果你使用的是 jquery 1.4,试试这个:

$.ajax({
    url: 'Controller/Action',
    type: 'post',
    data: { Arr: [ 'abc', 'def' ] },
    traditional: true,
    dataType: 'json'
});

注意 traditional flag .

或者如果您希望继续使用 $.post() :

$.post(
    'Controller/Action', 
    $.param({ Arr: [ 'abc', 'def'] }, true), 
    null, 
    'json'
);

关于c# - 如何让json数组解析在服务端工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3823919/

相关文章:

c# - C#中方法的持续时间,时间开始和时间结束

c# - 虚拟机上的 CPU 标识

c# - 如何在我的应用程序中限制下载/上传速度?

c# - 如何测试这个业务逻辑

asp.net-mvc - ASP.NET MVC获取下拉列表值

c# - Html.DropDownList() 的默认空值

javascript - 'click' 上的事件不适用于链接图像

javascript - 循环插件幻灯片未执行,但图像显示在彼此上方

javascript - 对话框中的长度错误

c# - 通用存储库包含和过滤