通过JQuery进行WCF POST。如何在JSON中发送数组?

时间:2015-12-15 11:59:59

标签: javascript c# jquery json wcf

我想通过POST将JSON发送到使用JQuery的WCF服务。问题是我真的不知道如何使用一组对象正确发送这个JSON,所以我得到一个400 Bad Request。

这是JSON结构。如您所见,有一些字段和一组文件(名称及其base64主体)。问题是最后一部分。

x = linspace(1,10000,10000)

这是发送JSON的代码:

{
   "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="
      }
   ]
}

这是我在服务器端的界面:

    $.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)....
})

这是NewRequestTO类

[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "NewRequest", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
NewRequestResponse NewRequest(NewRequestTO obj);

问题是,我该如何处理这些信息?我必须使用什么结构?

提前致谢。

1 个答案:

答案 0 :(得分:1)

此:

"files": [
      {
         "nameFile": "stack.txt",
         "fileContent": "data:text/plain;base64,Y2xvd24="
      }
   ]

将等同于IEnumerable对象,其中对象具有属性nameFile和fileContent。

e.g。

[DataMember]
public FileData[] files { get; set; }

public class FileData {
   [DataMember]
   public string nameFile { get; set;}
   [DataMember]
   public string fileContent { get; set; }
}