将json post方法中的json数据直接反序列化为字符串数组

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#字符串数组

提前致谢.

Paw*_*iya 5

想办法!

使用字符串化数组对象而不是直接命名的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)

谢谢!!