使用jquery解析yahoo API json时遇到问题
我在解析以下链接时遇到问题。我希望能够使用$.getJSON()从数组中的每个对象提取一些对象特征。有人知道我怎么做吗 谢谢 ? 以下是实际对象:使用jquery解析yahoo API json时遇到问题,jquery,json,api,parsing,yahoo,Jquery,Json,Api,Parsing,Yahoo,我在解析以下链接时遇到问题。我希望能够使用$.getJSON()从数组中的每个对象提取一些对象特征。有人知道我怎么做吗 谢谢 ? 以下是实际对象: { "ResultSet": { "totalResultsAvailable": "68369", "totalResultsReturned": 2, "firstResultPosition": "1", "Result": [{ "Title": "MARKET SNAPSHOT: U.S. S
{
"ResultSet": {
"totalResultsAvailable": "68369",
"totalResultsReturned": 2,
"firstResultPosition": "1",
"Result": [{
"Title": "MARKET SNAPSHOT: U.S. Stocks To Begin New Week In Vulnerable Spot",
"Summary": "MARKET SNAPSHOT: U.S. Stocks To Begin New Week In Vulnerable Spot",
"Url": "http:\/\/www.foxbusiness.com\/story\/markets\/industries\/market-snapshot-stocks-begin-new-week-vulnerable-spot\/",
"ClickUrl": "http:\/\/www.foxbusiness.com\/story\/markets\/industries\/market-snapshot-stocks-begin-new-week-vulnerable-spot\/",
"NewsSource": "FOX Business",
"NewsSourceUrl": "http:\/\/www.foxbusiness.com\/",
"Language": "en",
"PublishDate": "1278143248",
"ModificationDate": "1278144826"
}, {
"Title": "MARKET SNAPSHOT: U.S. Stocks In The Red, Post Weekly Losses",
"Summary": "MARKET SNAPSHOT: U.S. Stocks In The Red, Post Weekly Losses",
"Url": "http:\/\/feeds.foxbusiness.com\/~r\/foxbusiness\/latest\/~3\/hL3f6RiYhdU\/",
"ClickUrl": "http:\/\/feeds.foxbusiness.com\/~r\/foxbusiness\/latest\/~3\/hL3f6RiYhdU\/",
"NewsSource": "Fox News",
"NewsSourceUrl": "http:\/\/www.foxnews.com\/",
"Language": "en",
"PublishDate": "1278109361",
"ModificationDate": "1278109412"
}]
}
}
以下几点应该行得通。您需要从数据中提取所需的属性
$.getJSON('http://search.yahooapis.com/NewsSearchService/V1/newsSearch?appid=YahooDemo&query=market&results=2&language=en&output=json&callback=', function(data) {
alert(data.ResultSet.totalResultsAvailable);
});
更新
输出一个有意义的结果,调用success函数需要回调。我不确定我是否完全理解它,但如果仔细阅读,您会看到它在对象表示法上(这毕竟是JSON的意思),因此您可以访问任何具有限定名称的属性(data.ResultSet.result[0]摘要将访问第一个结果的摘要,例如示例)。 不管怎样,您希望提取哪些特征?是否要将它们打印到某个DOM组件、向它们发出警报或将它们存储在变量中?不管是什么情况,请检查以下代码:对于每个结果,它将在警报对话框中打印其标题和url(它使用jQuery的each函数迭代结果):
我会离开回调,因为它可能是一个跨站点调用,并且该参数用于规避大多数主流浏览器强制执行的同源策略。太好了。我很感激这个帖子。但是,有没有办法获得结果数组中的每个“标题”呢?看起来你的第二部分是由lfborjas回答的
$.getJSON('http://search.yahooapis.com/NewsSearchService/V1/newsSearch?appid=YahooDemo&query=market&results=2&language=en&output=json&callback=',
function(data){
$.each(data.ResultSet.Result, function(index, value){
alert("Result #"+index+": "+value.Title+" url: "+value.Url);
});
return false;
});