javascript - 如何解析 webmethod 中以数组列表返回的 Json 结果?

标签 javascript jquery asp.net json

这是一个简化的代码。我有一个webservice (.asmx)如下: 我将一些值存储在 Test class 中然后存储classarraylist .
我在两个不同的 arraylists 中执行了两次此操作。 然后将这两个数组列表存储在 third arraylist. 中 然后通过这个arraylistoutput of webmethod.

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

[网络方法]

      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我想解析他的文件json读取每个的结果 IdName两个值arraylists .

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() { }
});

这是 fire bug 中的 json 响应:

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

如何获取每个IdName值(value)观???

最佳答案

$.each 循环中使用当前设置,您将得到

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

作为obj。正如您所看到的,它是一个对象数组,其中只有一个对象作为其内容。您可以使用 obj[0] 访问该对象,然后可以使用 obj[0].Idobj 访问它们的属性[0].名称

您可以使用以下代码来完成此操作

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

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

Working fiddle

关于javascript - 如何解析 webmethod 中以数组列表返回的 Json 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665558/

相关文章:

javascript - 在 ASP.NET/C# 中检查复选框服务器控件时隐藏文本框 - 使用 Jquery 或 Javascript

asp.net - 使用 WCF 或 WCF 数据服务封装数据访问层

javascript - 幻灯片使用文字代替图片的几个问题

javascript - 为什么某些未指定扩展名的 webpack/Babel ES6 导入会解析为 "undefined?"

javascript - rainbow.js 不运行 Rainbow.color();启动时

javascript - 销毁事件不会从 Backbone 模型传播到 Backbone 集合

javascript - if 和 else 都在执行 Javascript/JQuery

jquery - 将文本放在圆圈中

asp.net - 部署引用与 WCF 服务通信的类库的 Web 应用程序

javascript - angular ngrx store 参数化内存选择器