将jQuery serializeArray表单传递给WCF

时间:2012-10-08 15:46:08

标签: jquery json wcf

我希望传递一个serializeArray表单,基本上是:

$.each($('#myform').serializeArray(), function () {
    json[this.name] = this.value;
});
var param = "{\"form\":" + JSON.stringify(json) + "}";

到WCF服务。我的目标是将param传递给WCF方法,并解析param中的所有内容或传递的内容。我很难创建一个对象类型,因为表单可以改变。对此有任何帮助都很棒!

1 个答案:

答案 0 :(得分:0)

我会查看json.org以获取解析器。我使用Json.NET

Here是我认为你在谈论的一个例子:

string json = @"{
   'CPU': 'Intel',
   'PSU': '500W',
   'Drives': [
     'DVD read/writer'
     /*(broken)*/,
     '500 gigabyte hard drive',
     '200 gigabype hard drive'
   ]
}";

JsonTextReader reader = new JsonTextReader(new StringReader(json));
while (reader.Read())
{
  if (reader.Value != null)
    Console.WriteLine("Token: {0}, Value: {1}", reader.TokenType, reader.Value);
  else
    Console.WriteLine("Token: {0}", reader.TokenType);
}

这将遍历您在JSON对象中的任何内容,并输出TokenValue。在这种情况下,你会得到这个:

Token: StartObject
Token: PropertyName, Value: CPU
Token: String, Value: Intel
Token: PropertyName, Value: PSU
Token: String, Value: 500W
Token: PropertyName, Value: Drives
Token: StartArray
Token: String, Value: DVD read/writer
Token: Comment, Value: (broken)
Token: String, Value: 500 gigabyte hard drive
Token: String, Value: 200 gigabype hard drive
Token: EndArray
Token: EndObject