我想將JSON發佈到WCF服務。 json對象包含一個屬性和一個數組。問題是當請求到達服務器時,TripleTransaction始終爲空。我想知道如何正確綁定到我的數據合同。如果任何人都可以在這裏給我一個指針,我會非常感激。WCF - 包含數組的郵政JSON對象
這是我服務的接口是什麼樣子:
[OperationContract]
[CorsBehavior]
[WebInvoke(Method = "POST", UriTemplate = "Triples/{library}", ResponseFormat = WebMessageFormat.Json)]
ResultMessage InvokeGraphTransactions(string library, TripleTransaction tripleTransaction);
我試圖來填充張貼的JSON的TripleTransaction。 TripleTransaction包含TripleModel的列表。
[DataContract]
public class TripleTransaction
{
[DataMember]
public string Localization { get; set; }
[DataMember]
public List<TripleModel> Transactions { get; set; }
}
[DataContract]
public class TripleModel
{
[DataMember]
public int TransactionType { get; set; }
[DataMember]
public string SubjectLocalPart { get; set; }
[DataMember]
public string PredicateLocalPart { get; set; }
[DataMember]
public string ObjectPart { get; set; }
[DataMember]
public string Update { get; set; }
}
上面的數據合同模仿了POST JSON。使用FireBug我可以看到請求看起來正確。該JSON是在消息的有效載荷和請求頭具有的contentType:應用程序/ JSON
這是我試圖發送JSON的例子:
{
"tripleTransaction": {
"Localization": "en-us",
"Transactions": [
{
"TransactionType": 0,
"SubjectLocalPart": "testSubject",
"PredicateLocalPart": "testPredicate",
"ObjectPart": "1",
"Update": "2"
},
{
"TransactionType": 1,
"SubjectLocalPart": "testSubject",
"PredicateLocalPart": "testPredicate",
"ObjectPart": "1"
}
]
}
}
KnownTypes?但我不確定是否需要休息服務 – Nikolay 2012-03-27 21:42:48