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 オブジェクトにあるものはすべて反復処理され、 と が出力されTokenますValue。この場合、次のようになります。

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 に答える