У меня есть этот файл JSON с вложенным массивом> queue_list.
[{
"id_shop": "2",
"shop_name": "Brackets",
"queue_list": [{
"id_queue_current": "1",
"queue_name": "Queue 1",
"queue_current_number": "12"
}, {
"id_queue_current": "2",
"queue_name": "Queue 2",
"queue_current_number": "23"
}]
}]
С моим jQuery / ajax я могу правильно читать id_shop и shop_name, но не могу читать элементы в queue_list. Как я могу получить доступ к этим элементам?
$.ajax({
type: "GET",
url: "shop_list.php",
dataType: 'html',
success: function(data) {
data = JSON.parse(data);
data.forEach(function(dataItem){
var id_shop = dataItem.id_shop;
var shop_name = dataItem.shop_name;
var queue_current_number = dataItem.current_number;
var queue_name = dataItem.queue_name; //this element
$("#header h1").html('<div>'+shop_name+'</div>');
$("#shop_queue").html('<li data-categoryId = "'+id_shop+'"><a href = "#shop_'+id_shop+'">'+queue_name+'</a></li>');
});
}
});
большое спасибо!

Возможно, вам придется сделать что-то подобное в своем методе успеха
var queue_name;
var queue_lst = dataItem.queue_list.each(function(item, index){
queue_name=JSON.parse(item).queue_name;
});
Попробуйте с решением ниже,
var test =
[{
"id_shop": "2",
"shop_name": "Brackets",
"queue_list": [{
"id_queue_current": "1",
"queue_name": "Queue 1",
"queue_current_number": "12"
}, {
"id_queue_current": "2",
"queue_name": "Queue 2",
"queue_current_number": "23"
}]
}]
test.forEach(function(dataItem){
var id_shop = dataItem.id_shop;
var shop_name = dataItem.shop_name;
var queue_data = dataItem.queue_list;
queue_data.forEach(function(queueItem){
var queue_id= queueItem.id_queue_current;
alert(queue_id);
var queue_name= queueItem.queue_name;
alert(queue_name);
var queue_current_number= queueItem.queue_current_number;
alert(queue_current_number);
})
})
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>вы не можете читать и получать доступ к элементам в queue_list, просто вызывая dataItem.current_number или dataItem.queue_name. Вы можете получить доступ к элементам внутри объекта JSON queue_list, вызывая элементы через queue_list, например dataItem.queue_list.current_number и dataItem.queue_list.queue_name.
Надеюсь, это решило проблему.