Почему у меня с такими данными не отображается на html странице ничего. он выдает исключение и текст ошибки.
Есть код:
let feed = document.getElementById('feed');
let respone = {"deals":[{"title" : "Краски", "description" : "123", "price" : "30", "link" : "http://www.example.com/farrow-and-ball/"},{"title" : "Хоккей", "description" : "32", "price" : "15", "link" : "http://www.example.com/farrow-and-ball/"},{"title" : "Футбол", "description" : "lorem", "price" : "5", "link" : "http://www.example.com/farrow-and-ball/"}]};
if(respone){
try{
let dealData = JSON.parse(respone);
showContent(dealData);
console.log(dealData);
}
catch(e){
console.log("Не работает птичка" + e);
feed.innerHTML = "не удалось загрузить предложение, админ пьет кофе";
}
finally{
console.log("123");
}
}
function showContent(dealData){
let newContent = '';
for(let i in dealData.deals){
newContent += '<div class="deal">';
newContent += '<h2>' + dealData.deals[i].title + '</h2>';
newContent += '<p>' + dealData.deals[i].description + '</p>';
newContent += '<a href="' + dealData.deals[i].link + '">';
newContent += ' ' + dealData.deals[i].link;
newContent += '</a>';
newContent += '</div>';
}
feed.innerHTML = newContent;
}
А если я поставлю перед
{"deals"
одинарную кавычку, то он мне отображает все данные в объекте json. С чем это связано?
let respone = '{"deals":[{"title" : "Краски", "description" : "123", "price" : "30", "link" : "http://www.example.com/farrow-and-ball/"},{"title" : "Хоккей", "description" : "32", "price" : "15", "link" : "http://www.example.com/farrow-and-ball/"},{"title" : "Футбол", "description" : "lorem", "price" : "5", "link" : "http://www.example.com/farrow-and-ball/"}]}';
То все заработает прекрасно.