这是一个简化的代码。我有一个webservice
(.asmx)
如下:
我将一些值存储在 Test class
中然后存储class
在 arraylist
.
我在两个不同的 arraylists
中执行了两次此操作。
然后将这两个数组列表存储在 third arraylist.
中
然后通过这个arraylist
如output 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
读取每个的结果 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() { }
});
这是 fire bug 中的 json 响应:
{"d":[[{"Id":"1","Name":"a"}],[{"Id":"2","Name":"b"}]]}
如何获取每个Id
和Name
值(value)观???
最佳答案
在 $.each
循环中使用当前设置,您将得到
[{"Id":"1","Name":"a"}]
作为obj
。正如您所看到的,它是一个对象数组
,其中只有一个对象
作为其内容。您可以使用 obj[0]
访问该对象
,然后可以使用 obj[0].Id
和 obj 访问它们的属性[0].名称
您可以使用以下代码来完成此操作
$.each(data.d,function(index,obj){
var id = obj[0].Id;
var name = obj[0].Name;
// do what ever you want with them
})
关于javascript - 如何解析 webmethod 中以数组列表返回的 Json 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665558/