这是一个简化的代码。我有一个webservice
(.asmx)
如下:
我在Test class
中存储了一些值,然后将class
存储在arraylist
中
我在两个不同的arraylists
中这样做了两次。
然后将这两个数组列表存储在third arraylist.
中
然后将此arraylist
作为output 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
文件中,我想解析他json
个结果,以阅读两个Id
的每个Name
和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() { }
});
这是火灾中的json响应:
{"d":[[{"Id":"1","Name":"a"}],[{"Id":"2","Name":"b"}]]}
如何获取每个Id
和Name
值???
答案 0 :(得分:3)
使用$.each
循环中的当前设置,您将获得
[{"Id":"1","Name":"a"}]
为obj
。正如您所看到的那样,array of object
仅包含one object
内容。您可以使用object
访问obj[0]
,然后可以使用obj[0].Id
和obj[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
})