2

これは単純化されたコードです。私はwebservice (.asmx)次のようにしています:私はいくつかの値をにTest class保存してから、に保存classarraylistます。
私はこれを2つの異なる方法で2回行いますarraylists。次に、これら2つの配列リストをに格納し、これを次のようthird arraylist. に渡します。arraylistoutput of webmethod.

 private class Test
        {
            public string Id;
            public string Name;
        }

[webmethod]

      public ArrayList RuleReport(long RuleId)
    {
        Test t = new Test();
        t.Id = "1";
        t.Name = "a";

        ArrayList ar = new ArrayList();
        ArrayList ar2 = new ArrayList();
        ArrayList ar3 = new ArrayList();

        ar.Add(t);

t = new Test();
        t.Id = "2";
        t.Name = "b";
        ar2.Add(t);
        ar3.Add(ar);
        ar3.Add(ar2);
        return ar3;
    }

そしてjsファイルで私は彼の結果を解析してそれぞれと2つの値jsonを読み取りたいと思います。IdNamearraylists

id=1,name=a
id=2,name=b

これは私のjqueryコードです:

 $.ajax(
{ url: " Ajaxes/Rules.asmx/RuleReport",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    type: "POST",
    data: "{'RuleId':'79'}",
    async: false,
    success: function(data) {
    $.each(data.d, function(index, obj) {
    alert(obj.d[0].Id);// something like this. How to do it???
        })

    }, error: function() { }
});

これは、火災バグでのjsonの応答です。

{"d":[[{"Id":"1","Name":"a"}],[{"Id":"2","Name":"b"}]]}

すべてIdName値を取得する方法???

4

1 に答える 1

3

$.eachループ内の現在のセットアップで、

[{"Id":"1","Name":"a"}]

としてobj。あなたが見ることができるように、それはそれが内容array of objectであるだけone objectであります。でアクセスできobjectobj[0]次にそれらのプロパティにアクセスできますobj[0].Idobj[0].Name

次のコードでこれを行うことができます

$.each(data.d,function(index,obj){

       var id = obj[0].Id;
       var name = obj[0].Name;
       // do what ever you want with them
   })​

ワーキングフィドル

于 2012-05-19T13:38:43.187 に答える