Paw*_*iya 2 asp.net json jquery-post deserialization
有没有办法将jquery post方法发送的数组反序列化为直接c#string数组(string [])?
我试着发布这样的数据
$.post(url,
{
'selectedTeams[]'=['Team1','Team2']
},
function(response) {}, 'json');
Run Code Online (Sandbox Code Playgroud)
并尝试在C#类中使用它
string jsonData = new StreamReader(context.Request.InputStream).ReadToEnd();
var selectedTeams = new JavaScriptSerializer().Deserialize<string[]>(jsonData);
Run Code Online (Sandbox Code Playgroud)
由于字符串[]中没有属性selectedTeams [],因此它不起作用而且不应该来源.
我知道定义类这样的类的方法
class Teams
{
public string[] SelectedTeams{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
然后进行反序列化.
但我认为这是一个不必要的定义类,所以没有办法直接将json数组转换为c#字符串数组
提前致谢.
想办法!
使用字符串化数组对象而不是直接命名的json参数来传递数据解决了我的问题
我现在发布这样的帖子
var Ids = new Array();
Ids.push("Team1");
Ids.push("Team2");
$.post(url, JSON.stringify(Ids), function(response) {}, 'json');
Run Code Online (Sandbox Code Playgroud)
现在能够将json响应直接反序列化为字符串数组
string jsonData = new StreamReader(context.Request.InputStream).ReadToEnd();
var selectedTeams = new JavaScriptSerializer().Deserialize<string[]>(jsonData);
Run Code Online (Sandbox Code Playgroud)
谢谢!!