これは簡単な問題だと確信していますので、事前に尋ねても謝ります。以下のコードでは、jFeedプラグインを使用してRSSフィードをJSONに変換しています。このJSON内では、ネストされた配列の中に深く入れ子になったURLノードにアクセスする必要があります。今は、 "console.log(" feeds.entries [i] ")"を使用して、親レベルの各オブジェクトの属性(「タイトル」、「コンテンツ」など)を取得できます。ネストされた配列にドリルダウンする方法を知ることはできません。jQueryを使用したJSONのネストされた配列へのアクセス
これは私のコードです:それはクロームコンソール内に表示されるようここ
$(document).ready(function() {
$.jGFeed('http://feeds.feedburner.com/solidverbal/app', function(feeds){
// Check for errors
if(!feeds){
// there was an error
return false;
}
var sAnchors = "<ul>";
//var wantedFeed = "";
for(var i=0; i<feeds.entries.length; i++){
console.log(feeds.entries[i]);
var sAnchors = sAnchors + "<li><a href=\"#link\" id=\"title_" + i + "\" class=\"giveFeeds\">" + feeds.entries[i].title + "</a></li>";
}
sAnchors = sAnchors + '</ul>';
//Append the <a>.
$('#titles').append(sAnchors);
//When the user clicks on the giveFeeds link....
$('.giveFeeds').live('click', function(e) {
//Get the feed number
var tmpId = $(e.target).attr("id");
//Returns the value after the '_' char and make sure it returns de number.
var id = parseInt(tmpId.split("_")[1]);
//Use the id value to get the desired feed
var wantedFeed = feeds.entries[id].content;
//Then do whatever you want with that entry
$("#content").html(wantedFeed);
});
}, 20);
});
は、JSON構造の例である:
Object
author: "Test"
categories: Array[10]
content: "<p></p><p>Test Content"
contentSnippet: "Test Content Snippet"
link: "http://www.solidverbal.com/2011/03/24/charles-robinson-324/"
mediaGroups: Array[1]
0: Object
contents: Array[1]
0: Object
fileSize: "12796261"
type: "audio/mpeg"
url: "http://www.testurl/test.mp3"
任意の助けをいただければ幸いです。私はそれがネストされたfor-loopまたは何かだと思っていますが、何らかの理由で私はそれを得ることができません。
ありがとうございます!
カルロス、実際に私が試した最初のものでしたが、ページが表示されず、Chromeのコンソールで「Uncaught TypeError:未定義のプロパティ '0'を読み取れません」というエラーが発生しました – ndisdabest
実際には、私は手動で "0"を入れますが、 "i"を角かっこに入れると、私はTypeErrorを得ています。私はすべてのリンクを手に入れたいと思います。 – ndisdabest
あなたは完全なコードをどこかに投稿できますか?私は本当に何か問題は全く見ません... – CarlosZ