4

C#.NETHashTableを使用して以下のJSON形式を実現する方法

{"DoWorkResult":
      [
       {"Perimeter":"55},
       {"Mortgage":"540"},
       {"Area":"1000"}
      ]
}

以下のような例でHashtableを使ってこれを試してみました

    Hashtable hashtable = new Hashtable();

    hashtable.Add("Area", 1000);
    hashtable.Add("Perimeter", 55);
    hashtable.Add("Mortgage", 540);

しかし、結果は以下のようになります

{"DoWorkResult":
      [
       {"Key":"Perimeter","Value":55},
       {"Key":"Mortgage","Value":540},
       {"Key":"Area","Value":1000}
      ]
}

注: WCFサービスメソッドで実際のハッシュテーブルを返し、ajax呼び出しを使用してバックエンドからの出力を読み取ります。

フロントエンドで使用しているAjaxメソッド:

$.ajax({
            type: 'POST',
            url: '/Service.svc/DoWork',
            success: function(data) {
                alert(data);
            }
        });
4

1 に答える 1

8

JavaScriptSerializerJson.Netの両方を使用する

var list = new ArrayList();
list.Add(new { Area = 1000 });
list.Add(new { Perimeter = 55 });
list.Add(new { Mortgage = 540 });

var s1 = new JavaScriptSerializer().Serialize(new { DoWorkResult = list });
var s2 = JsonConvert.SerializeObject(new { DoWorkResult = list });
于 2012-08-28T11:33:32.837 に答える