Так что у меня возникают проблемы при попытке создать строку JSON.У меня возникают проблемы только тогда, когда данные, которые я использую для построения объекта / массива, который будет преобразован в строку, поступают из GET-запроса в цикле.
Когда я публикую фактический объект JavaScript в консоли, он содержит все правильные данные.Информация.но не может создать допустимую строку JSON.Я проверил этот метод (примеры ниже) и знаю, что он работает.Я пришел к выводу, что это связано с запросами GET.Я попробовал несколько решений;играл с переменной областью, асинхронное управление потоком, и все еще не повезло.Поэтому я здесь.Чего мне не хватает?
Спасибо всем
Вот код с проблемами:
var start = 1518;
var end = 1522;
var eventList = {};
eventList['event'] = [];
for (var i = 0; i < (end - start); i++) {
$.get('https://www.someaddress.com/events/index.php?view=' + (start + i), function(response) {
var eventRep = $(response).find('h2').text();
var categoryRep = $(response).find('span.center-name').text();
var descriptionRep = $(response).find('div.description.col-md-9').find('p').text();
var eventScrape = {
"title": eventRep,
"category": categoryRep,
"description": descriptionRep
};
//alert(eventRep);
eventList['event'].push(eventScrape);
});
}
var str = JSON.stringify(eventList, undefined, 4);
console.log(eventList);
console.log(str);
Ошибка JSON:
{
"event": []
}
Вотрабочий пример того, что я хочу:
var eventList = {};
eventList['event'] = [];
for (var i = 0; i < 5; i++) {
var eventRep = "Event title " + i;
var categoryRep = "Event category " + i;
var descriptionRep = "Event description " + i;
var eventScrape = {
"title": eventRep,
"category": categoryRep,
"description": descriptionRep
};
eventList['event'].push(eventScrape);
//alert(i);
}
var str = JSON.stringify(eventList, undefined, 4);
console.log(eventList);
console.log(str);
JSON, созданный по примеру:
{
"event":[
{
"title":"Event title 0",
"category":"Event category 0",
"description":"Event description 0"
},
{
"title":"Event title 1",
"category":"Event category 1",
"description":"Event description 1"
},
{
"title":"Event title 2",
"category":"Event category 2",
"description":"Event description 2"
},
{
"title":"Event title 3",
"category":"Event category 3",
"description":"Event description 3"
},
{
"title":"Event title 4",
"category":"Event category 4",
"description":"Event description 4"
}
]
}