У вас есть массив объектов, где каждый объект содержит другой массив объектов.Я предполагаю, что используемая вами структура JSON:
var a = [{"id":"1","images":[{"img_id":"1"},{"img_id":"2"},{"img_id":"3"}]},
{"id":"2","images":[{"img_id":"1"},{"img_id":"2"},{"img_id":"3"}]}];
Я также предполагаю, что вы используете JavaScript.
PostEdit:
Ваш код довольно близок, я думаю, что то, что у меня есть ниже, должно работать:
$("#button").click(function() {
$.getJSON("../path/to/json", function(data) {
$.each(data[0].images, function(i,data){
var new_data ="<p src='path/to/folder/" + data.img_id + "'></p>";
$(new_data).appendTo("#htmlTag");
});
});
return false;
});
Все, что я сделал, это изменил первый параметр на ваш each
вызов с: data[0].images.img_id
на: data[0].images
.Кроме того, я изменил объявление new_data
с:
var new_data ="<p src='path/to/folder/"+images.img_id+"'></p>";
на:
var new_data ="<p src='path/to/folder/"+data.img_id+"'></p>";
Обратите внимание, что параметр "data" в каждой функции обратного вызова является просто элементом вмассив, в то время как «я» является индексом этого элемента в массиве.Следовательно, данные - это объект, который выглядит следующим образом:
{"img_id":1}
Таким образом, вы можете получить идентификатор через data.img_id
.Надеюсь это поможет.