0

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

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

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

4

1 回答 1

0

我会查看json.org的解析器。我使用 Json.NET

是我认为您正在谈论的示例:

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
于 2012-10-08T20:09:53.827 回答