Ajax + webservice +对象数组

时间:2015-03-31 18:21:10

标签: c# .net ajax web-services parsing

我通过ajax调用调用web服务,并在stringify后将对象数组传递给它。

字符串化后的数据

data = '[{"para1":"pic 1","para2":"drop 1"},{"para1":"pic 2","para2":"drop 2"}]'

 $.ajax({
        type: 'POST',
        url: "path to url/method",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: JSON.stringify({
            "data": data
        }),

如何接收它并在C#webservice中解析。

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string insertroute(string data){
       //how to parse data here
    }

2 个答案:

答案 0 :(得分:1)

您的服务方法将以字符串形式接收数据。您可以使用以下代码反序列化为对象列表。

var serializer = new JavaScriptSerializer();
var result = serializer.Deserialize(mail, typeof(List<object>));

作为一种做法,如果你制作一个匹配你的json对象的模型并将其传递给typeof(List&lt; model &gt;)

答案 1 :(得分:0)

您需要将字符串转换为JSON吗?你可以使用像

这样的东西
var json = JObject.Parse(data);

JObject来自

Newtonsoft.Json

但是,您可以发送JSON并处理JSON并发送回JSON,无需对其进行字符串化。

由于

史蒂夫