我知道我们可以使用以下来处理简单的ajax JSON响应
function onSuccess(response) {
console.log("Service call successful with response"+response);
$.each(response, function (key, value) {
console.log(key+" "+value);
}) ;
但是,如何处理如下所示的JSON响应数组?
{
"xyzs":[
{
"xyz":{
"id":"515f08380364db3bbe5a27f1",
"xyz_id":"320224817603309569"
}
},
{
"xyz":{
"id":"5161f9880364db3bbea86595",
"xyz_id":"321033680736886784"
}
}
]
}
onSuccess()函数未在控制台中给出具有上述响应的预期输出id
和xyz_id
。
我在for
函数中使用javascript中有一些onSuccess()
循环来获取id和xyz_id的值吗?
答案 0 :(得分:4)
你可以试试这个:
$.each(response.xyzs, function (index, obj) {
console.log(obj.xyz.id+" "+obj.xyz.xyz_id);
}) ;
希望这会有所帮助!!
答案 1 :(得分:1)
使用此:
var response = {
"xyzs":[
{
"xyz":{
"id":"515f08380364db3bbe5a27f1",
"xyz_id":"320224817603309569"
}
},
{
"xyz":{
"id":"5161f9880364db3bbea86595",
"xyz_id":"321033680736886784"
}
}
]
};
$.each(response.xyzs, function () {
var cur = this.xyz;
console.log(cur.id, cur.xyz_id);
});
答案 2 :(得分:0)
在你的情况下。你有一个json对象,$ .each()将应用于json数组。
因此,您可以通过response.xyzs
获取JSON数组,并可以循环遍历该数组的每个元素。
$.each(response.xyzs, function (key, value) {
console.log(key+" "+value);
}) ;
这里有更清晰的JSON数组循环示例。
var data = [
{"Id": 10004, "PageName": "club"},
{"Id": 10040, "PageName": "qaz"},
{"Id": 10059, "PageName": "jjjjjjj"}
];
$.each(data, function(i, item) {
alert(data[i].PageName);
});
$.each(data, function(i, item) {
alert(item.PageName);
});