如何在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
编辑
看了之后,您没有将 JSON 发送到 .net !!!
var myObject = { "a": ["1,","2&"], "b" : 4 };
console.log(JSON.stringify(myObject));
===> '{"a":["1,","2&"],"b":4}'
您应该发送 STRING 值而不是您所做的 OBJECT!
现在你将拥有:
改变:
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/