c# - 如何从包含 C# 中的数组的 Jquery 中解析 Json

标签 c# jquery json

如何在c#中从json中获取数组数据?

这是ajax代码

        $.ajax({
            type: "GET",
            url: "/Weather/GetWeather",
            data: { "a": ["1,","2&"], "b" : 4 },
            success: onScc,
            error: onErr,
            dataType: "json"
        });

上面的 ajax 将调用 Asp.net MVC 中名为 GetWeather 的方法。

    public string GetWeather()
    {
        //Request.QueryString.ToString()  --->  a%5b%5d=1%2c&a%5b%5d=2%26&b=4
        string a = HttpUtility.UrlDecode(Request.QueryString.ToString());
        // string a ---> a=1,&a=2&&b=4
        .....
    }

我从 .net 得到的是 -----> a[]=1,&a[]=2&&b=4

我想要得到的是 ----> string[]a = ["1", "2&"]int b = 4。顺便说一句,我不想​​定义包含 a 和 b 的对象,因为这些参数是动态的。

最佳答案

你可以使用动态

 dynamic lst = new JavaScriptSerializer().Deserialize<dynamic>
               (@"{ ""a"": [""1"",""2""], ""b"" : 4}");

引用 System.Web.Extensions

enter image description here

enter image description here

编辑

看了之后,您没有将 JSON 发送到 .net !!!

var myObject = { "a": ["1,","2&"], "b" : 4 };

console.log(JSON.stringify(myObject));

===> '{"a":["1,","2&"],"b":4}' 您应该发送 STRING 值而不是您所做的 OBJECT!

现在你将拥有:

enter image description here

改变:

  data: { "a": ["1,","2&"], "b" : 4 },

to

  data:{"myValue" : JSON.stringify({ "a": ["1,","2&"], "b" : 4 })},

并在 C# 中读取:myValue

关于c# - 如何从包含 C# 中的数组的 Jquery 中解析 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10023984/

相关文章:

c# - 将字符串的 IObservable 转换为 XDocuments 的 IObservable

c# - 为什么我的 FontFamily 是 "Arial"?

c# - 如何在 C# 中使用 sendkeys 发送键盘组合 Shift+Win+LEFT?

javascript - 检查互联网连接并更改内容 jquery/Javascript

javascript - JS加法游戏: how do I display 4 possible answers, 其中3个是随机的,1个是正确答案? (包括代码笔)

java - 如何在 Android 中将 JSON 参数作为 Web 服务请求发送?

c# - Crystal 报表列名不明确错误。

jquery - 从 $.ajax 成功操作 "data": function(data) {

javascript - 在发送请求之前将 View 中的值绑定(bind)到模型

javascript - 通过 json 数组的 AngularJS ng-repeat 在第二个数组中不起作用