2

c#でjsonから配列データを取得するには?

これがajaxコードです

        $.ajax({
            type: "GET",
            url: "/Weather/GetWeather",
            data: { "a": ["1,","2&"], "b" : 4 },
            success: onScc,
            error: onErr,
            dataType: "json"
        });

上記の ajax は、Asp.net MVC で GetWeather という名前のメソッドを呼び出します。

    public string GetWeather()
    {
        //Request.QueryString.ToString()  --->  a%5b%5d=1%2c&a%5b%5d=2%26&b=4
        string a = HttpUtility.UrlDecode(Request.QueryString.ToString());
        // string a ---> a=1,&a=2&&b=4
        .....
    }

私が.netから得たものは-----> a[]=1,&a[]=2&&b=4

私が取得したいのは、----> string[]a = ["1", "2&"]andのようなものint b = 4です。ところで、これらのパラメーターは動的であるため、a と b を含むオブジェクトを定義したくありません。

4

1 に答える 1

0

あなたが使用することができますdynamic

 dynamic lst = new JavaScriptSerializer().Deserialize<dynamic>
               (@"{ ""a"": [""1"",""2""], ""b"" : 4}");

System.Web.Extensionsを参照してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください

編集

調べた後、JSONを.netに送信していません!!!

var myObject = { "a": ["1,","2&"], "b" : 4 };

console.log(JSON.stringify(myObject));

===>'{"a":["1,","2&"],"b":4}' 実行したOBJECTではなくSTRING値を送信する必要があります!

今あなたは持っているでしょう:

ここに画像の説明を入力してください

変更

  data: { "a": ["1,","2&"], "b" : 4 },

to

  data:{"myValue" : JSON.stringify({ "a": ["1,","2&"], "b" : 4 })},

そしてc#で読む:myValue

于 2012-04-05T07:35:33.760 に答える