Javascript 我可以将许多rss提要转换为单个JSON文件吗?
我正在使用Java脚本使用windows 8应用程序 我几乎没有rss提要,例如: 下面的函数获取每个rss提要并转换为一个JSON对象。但我想做的是将所有rss提要获取到一个JSON对象。(有两个rss提要。因此在函数调用之后,它给了我两个单独的JSON对象。但我想要一个对象) (x=0;xJavascript 我可以将许多rss提要转换为单个JSON文件吗?,javascript,xml,json,rss,winjs,Javascript,Xml,Json,Rss,Winjs,我正在使用Java脚本使用windows 8应用程序 我几乎没有rss提要,例如: 下面的函数获取每个rss提要并转换为一个JSON对象。但我想做的是将所有rss提要获取到一个JSON对象。(有两个rss提要。因此在函数调用之后,它给了我两个单独的JSON对象。但我想要一个对象) (x=0;x
{
//循环x开始
feedburnerUrl=ListoFeed[x].url,
feedUrl=”http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&output=json&num=999&q=“+编码器组件(FeedburneUrl);
WinJS.xhr({
url:feedUrl,
响应类型:“rss/json”
}).done(函数完成(结果){//result=[object XMLHttpRequest]用于请求的URL
var jsonData=JSON.parse(result.response);//jsonData=[object]创建对象
var entries=jsonData.responseData.feed.entries;//entries=[object object][object object][object object]。。。。。。
forEach(函数(条目){//处理条目。。。
log(“{”title:“+entry.title+”,“Date:“+entry.publishedDate+”);
});
});
}//循环x完成
}
var allEntries = [];
var pendingRequestCount = listOfFeed.length;
var onRequestFinished = function() {
pendingRequestCount--;
if (pendingRequestCount === 0) {
allEntries.forEach(function (entry) { // process the entries...
console.log('{"title" :"' + entry.title + '","Date":"' + entry.publishedDate + '"},');
});
}
};
for (x = 0; x < listOfFeed.length; x++) {
... // Same as before
}).done(function complete(result) {
var jsonData = JSON.parse(result.response);
var entries = jsonData.responseData.feed.entries;
allEntries = allEntries.concat(entries);
onRequestFinished();
});
} //loop x finish
var allEntries=[];
var pendingRequestCount=listOfFeed.length;
var onRequestFinished=函数(){
pendingRequestCount--;
如果(pendingRequestCount==0){
forEach(函数(条目){//处理条目。。。
log(“{”title:“+entry.title+”,“Date:“+entry.publishedDate+”);
});
}
};
对于(x=0;x
您还应该处理失败的请求,并调用onRequestFinished函数。非常感谢您的好意@nkron。一个问题。正如你之前所说,我如何根据发布日期对所有条目进行排序?在哪里添加该方法。。?我使用“添加到上一个位置”。但它只对每个提要进行排序。实际上我可以对所有条目进行排序。。然后我得到了我想要的结果。非常感谢@nkron。我是这个领域的新手,希望你将来也能帮助我。。再次感谢。@robi kumar,谢谢你巧妙地编辑了我的问题。。多谢各位
var allEntries = [];
var pendingRequestCount = listOfFeed.length;
var onRequestFinished = function() {
pendingRequestCount--;
if (pendingRequestCount === 0) {
allEntries.forEach(function (entry) { // process the entries...
console.log('{"title" :"' + entry.title + '","Date":"' + entry.publishedDate + '"},');
});
}
};
for (x = 0; x < listOfFeed.length; x++) {
... // Same as before
}).done(function complete(result) {
var jsonData = JSON.parse(result.response);
var entries = jsonData.responseData.feed.entries;
allEntries = allEntries.concat(entries);
onRequestFinished();
});
} //loop x finish