JSON 数组中的数组
JSON array within an array
我正在使用 JSON 对象 here,我想访问图像,它是 'results' 数组中的一个数组。我知道我必须循环,但不确定我是否正确执行
我的代码
function getVideos(art) {
$.ajax({
type: "GET",
url: 'http://imvdb.com/api/v1/search/videos?q=' + art,
dataType: 'json',
success: function (data) {
//alert(JSON.stringify(data.albums.name));
$('#videos').empty();
$.each(data.results.image, function (index, element) {
//alert(element.name);
$('#videos').append(element.results.image+ '<br/>');
});
},
error: function (data) {
$('#videos').html('<h3>Error in retrieval</h3>');
}
});
}
当我刚刚编码时更新
$.each(data, function (index, element) {
//alert(element.name);
$('#videos').append(element.results+ '<br/>');
});
我明白了
更新:
它对我有用,现在我只是访问结果而不是图像
$.each(data.results, function (index, element) {
//alert(element.name);
$('#videos').append(element.image.o + '<br/>');
});
更新:
它对我有用,现在我只是访问结果而不是图像
$.each(data.results, function (index, element) {
//alert(element.name);
$('#videos').append(element.image.o + '<br/>');
});
您的问题出在您的 $.each
中,您已经将其降低到 data.results.image
的水平,然后您正在寻找其中的 results.image
。因此,对于您的 jQuery 脚本,您正在寻找每一个 data.results.image.results.image
,而这并不存在。要遍历每个 results
对象,您需要在 data.results
上执行 $.each
,然后查找 element.image
.
这是一个有效的 JSFiddle,它演示了这一点:http://jsfiddle.net/7udv3uoh/4/
我正在使用 JSON 对象 here,我想访问图像,它是 'results' 数组中的一个数组。我知道我必须循环,但不确定我是否正确执行
我的代码
function getVideos(art) {
$.ajax({
type: "GET",
url: 'http://imvdb.com/api/v1/search/videos?q=' + art,
dataType: 'json',
success: function (data) {
//alert(JSON.stringify(data.albums.name));
$('#videos').empty();
$.each(data.results.image, function (index, element) {
//alert(element.name);
$('#videos').append(element.results.image+ '<br/>');
});
},
error: function (data) {
$('#videos').html('<h3>Error in retrieval</h3>');
}
});
}
当我刚刚编码时更新
$.each(data, function (index, element) {
//alert(element.name);
$('#videos').append(element.results+ '<br/>');
});
我明白了
更新:
它对我有用,现在我只是访问结果而不是图像
$.each(data.results, function (index, element) {
//alert(element.name);
$('#videos').append(element.image.o + '<br/>');
});
更新:
它对我有用,现在我只是访问结果而不是图像
$.each(data.results, function (index, element) {
//alert(element.name);
$('#videos').append(element.image.o + '<br/>');
});
您的问题出在您的 $.each
中,您已经将其降低到 data.results.image
的水平,然后您正在寻找其中的 results.image
。因此,对于您的 jQuery 脚本,您正在寻找每一个 data.results.image.results.image
,而这并不存在。要遍历每个 results
对象,您需要在 data.results
上执行 $.each
,然后查找 element.image
.
这是一个有效的 JSFiddle,它演示了这一点:http://jsfiddle.net/7udv3uoh/4/