2015-03-31 21 views
0

我通過ajax調用調用webservice,並在對其進行字符串化後將對象數組傳遞給它。Ajax + webservice +對象數組

數據字符串化後

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#web服務解析。

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

解析,可以很容易地實現與庫:http://stackoverflow.com/questions/4109807/parsing-json-data-with-c-sharp – 2015-03-31 18:36:11

回答

1

你的服務方法將接收到的數據作爲一個字符串。您可以使用以下代碼反序列化爲對象列表。

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

作爲一種實踐,它會更好,如果你犯了一個模式你的JSON對象相匹配,並且通過了爲將typeof(名單< 模式>)

0

您需要將字符串轉換爲JSON嗎?您可以使用類似

var json = JObject.Parse(data); 

JObject是

Newtonsoft.Json 

但是,你可以發送JSON和處理JSON和JSON sendback無需字符串化它。

感謝

史蒂夫