JSON配列からすべてのカテゴリタイトルを取得しようとしています。しかし、すべてのオブジェクトにカテゴリがあるわけではありません。このため、データを追加しようとすると、私は未定義になり、残りのデータはこのために追加されません。空のオブジェクトでJson Arrayをループする
Jsonファイルにカテゴリがない場合、カテゴリをデフォルトカテゴリに指定したいと考えています。または、タグのタイトルを取ってカテゴリにしてください。
私はいくつかの方法を試みましたが、どれもうまくいかないようです。 JSONファイルへのダウンロードリンクとともに、私がこれまで行ってきたことを下に抜粋しました。私はProblemAreaのコメントを私が試していたことを示すために置いた。
助けていただけたら幸いです!
CODE - あなたは本当に迅速かつ汚いチェックをしたい場合は、単に持っているか、確認してくださいので、タイトルがある場合は、デフォルト値を設定することができます
$("#search-btn").click(function (e) {
var userText = $.trim($('#searchArea').val());
$('.full-post-img').css('display', 'none');
$('.overlay-hugeinc').css('left', '-9999px');
$.getJSON('http://www.capetownetc.com/api/get_search_results/?search=' + userText, {
srsearch: userText
, action: "query"
, list: "search"
, format: "json",
},
function (data) {
$("#searchR").empty().append('<p class="results">RESULTS</p>');
if(userText.length === 0){
$("#searchR").empty().append("<p class='results'>Please enter a keyword</p>");
$('#sLoad').css('opacity', '0');
}
else{
$("#swipe").empty();
$.each(data.posts, function (i, item) {
// $('#sLoad').css('opacity', '0');
//EXCERPT
var ex = item.excerpt;
var maxLength = 100;
ex = ex.substr(0, maxLength);
//THUMBNAIL
var imgThumb1 = item.thumbnail_images.full.url;
//****PROBLEM AREA****
//CATEGORY
var cat = item.categories[0].title;
if(cat.hasOwnProperty(i)){
console.log('Is valid');
}
console.log(cat);
$("#swipe").append('<div class="p1 full-post-text"><a class="p1 link-click" id="post2" target="_blank"></a><div class="p1 text-post-img"><span class="p1 card-img1" id="p1Img" style="background-image:url(' + imgThumb1 + ');"></span><a class="p1 post-cat">' + cat + '</a> </div><div class="p1 full-text-info"><h2 class="p1 text-heading" id="p1Heading">' + item.title + '</h2><p class="p1 text-post-desc" id="p1Desc">' + ex + '</p><p class="p1 post-source" id="p1Source">/</p></div></div>');
});
}
});
});
jsonの構造 –