2011-07-27 76 views
1

我有一個JSON陣列是這樣的:接收AJAX jQuery的陣列在c#

"{structChangeList : '[{"structChange":{"id":"Level1.Second","parentId":"Level1.First","date":"2011-01-01"}}]'" 

「[{」 structChangeList 「:{」 ID 「:」 Level1.Second」, 「parentId的」 : 「Level1.First」, 「日期」: 「2011-01-01」}}]」

和我試圖用Web方法拿起像其他各種variationd

[WebMethod] 
    public string receiveStructureUpdates3(List<StrutureData> structChangeList) 
    { 

     return "Hello World"; 
    } 

其中StructureData是:

「{」 structChange:

[DataContract] 
public class StrutureData 
{ 
    [DataMember] 
    public string id { get; set; } 
    [DataMember] 
    public string parentId { get; set; } 
    [DataMember] 
    public string date { get; set; } 
} 

,當我嘗試拿起非陣列像它工作正常 「:{」 ID 「:」 Level1.Second」, 「parentId的」: 「Level1.First」, 「日期」: 「2011-01-01」}}」

有:

[WebMethod] 
    public string receiveStructureUpdates2(StrutureData structChange) 
    { 
    } 

但我不能得到陣列工作。有任何想法嗎?

回答

1

編輯:

使用數組/列表,更改:因爲.NET是尋找structChage

"{"structChange":{"id":"Level1.Second","parentId":"Level1.First","date":"2011-01-01"}}" 

{"structChange": [{"id":"Level1.Second","parentId":"Level1.First","date":"2011-01-01"}]} 

,它要找到第一個。由於structChangeList該鍵的值需要是一個數組。

+0

我已經得到了代碼以正確的方式,但我並不想拿起一個JSON格式的字符串,然後deserialise它,我想直接拿起json – Patrick

+0

我編輯了我的問題 – Patrick

+0

就是這樣,感謝您的耐心 – Patrick

0

這是將數據發送到一個動作控制器

data: "{someField : [[\"Level1.Second\",\"Level1.First\",\"2011-01-01\"]] } 
+0

我編輯了我的問題 – Patrick