C# WCF-包含数组的Post JSON对象
我正在尝试将JSON发布到WCF服务。json对象包含一个属性和一个数组。问题在于,当请求到达服务器时,TripleTransaction始终为null。我想知道如何正确地绑定到我的数据契约。如果有人能在这里给我指点,我会非常感激 这就是我的服务界面的外观:C# WCF-包含数组的Post JSON对象,c#,wcf,web-services,rest,wcf-binding,C#,Wcf,Web Services,Rest,Wcf Binding,我正在尝试将JSON发布到WCF服务。json对象包含一个属性和一个数组。问题在于,当请求到达服务器时,TripleTransaction始终为null。我想知道如何正确地绑定到我的数据契约。如果有人能在这里给我指点,我会非常感激 这就是我的服务界面的外观: [OperationContract] [CorsBehavior] [WebInvoke(Method = "POST", UriTemplate = "Triples/{library}", Respo
[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; }
}
您应该发布以下内容:
{
"Localization": "en-us",
"Transactions": [
{
"TransactionType": 0,
"SubjectLocalPart": "testSubject",
"PredicateLocalPart": "testPredicate",
"ObjectPart": "1",
"Update": "2"
},
{
"TransactionType": 1,
"SubjectLocalPart": "testSubject",
"PredicateLocalPart": "testPredicate",
"ObjectPart": "1"
}
]
}
在POST变量名“tripleTransaction”下
否则它不知道应该将数据链接到哪个参数KnownTypes?但是我不确定rest服务上是否需要它,您所说的POST变量名是什么意思?当您在页面上发布数据时,您只能发布键值数据列表。当我说“POST变量名”时,我指的是键。请阅读
{
"Localization": "en-us",
"Transactions": [
{
"TransactionType": 0,
"SubjectLocalPart": "testSubject",
"PredicateLocalPart": "testPredicate",
"ObjectPart": "1",
"Update": "2"
},
{
"TransactionType": 1,
"SubjectLocalPart": "testSubject",
"PredicateLocalPart": "testPredicate",
"ObjectPart": "1"
}
]
}