WCF POST通过JQuery.如何在JSON中发送数组
本文关键字:JSON 数组 POST 通过 JQuery WCF | 更新日期: 2023-09-27 18:26:54
我想通过POST将JSON发送到使用JQuery的WCF服务。问题是,我真的不知道如何正确地发送这个带有对象数组的JSON,所以我得到了一个400错误的请求。
这就是JSON结构。正如您所看到的,有一些字段和一个文件数组(名称及其base64主体)。问题是最后一部分。
{
"guid": "",
"title": "d",
"description": "d",
"category": "19",
"email": "emai@email.com",
"priority": "1",
"type": "2",
"typeText": "Soli",
"categoryText": "CU",
"subCategoryText": "TMóvil",
"files": [
{
"nameFile": "stack.txt",
"fileContent": "data:text/plain;base64,Y2xvd24="
}
]
}
这是发送JSON:的代码
$.ajax({
url: serviceUrl,
type: "POST",
data: JSON.stringify(params),
async: true,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {.....
error: function(data)....
})
这是我在服务器端的接口:
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "NewRequest", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
NewRequestResponse NewRequest(NewRequestTO obj);
这是NewRequestTO类
[DataContract]
public class NewRequestTO
{
[DataMember]
public string guid { get; set; }
[DataMember]
public string title { get; set; }
[DataMember]
public string description { get; set; }
[DataMember]
public string category { get; set; }
[DataMember]
public string email { get; set; }
[DataMember]
public string priority { get; set; }
[DataMember]
public string type { get; set; }
[DataMember]
public string typeText { get; set; }
[DataMember]
public string categoryText { get; set; }
[DataMember]
public string subCategoryText { get; set; }
[DataMember]
public string files { get; set; }
}
问题是,我该如何处理这些信息?我必须使用什么结构?
提前谢谢。
这:
"files": [
{
"nameFile": "stack.txt",
"fileContent": "data:text/plain;base64,Y2xvd24="
}
]
将等效于对象的IEnumerable,其中对象具有名为File和fileContent的属性。
例如
[DataMember]
public FileData[] files { get; set; }
public class FileData {
[DataMember]
public string nameFile { get; set;}
[DataMember]
public string fileContent { get; set; }
}