我得到了这段代码来获得一个json对象,这样就行了。
$.getJSON("http://api.songkick.com/api/3.0/artists/" + artist_id + "/calendar.json?apikey=Key&jsoncallback=?", function callback(json) {
$.each(json["resultsPage"], function (i, entry) {
alert(entry.totalEntries);
});
});当我执行代码时,当没有艺术家的数据时,我会得到这样的结果:
?({"resultsPage":{"results":{},"totalEntries":0,"perPage":50,"page":1,"status":"ok"}})我想要的是获得totalEntries的值来验证是否有一些数据,但我一直没有定义。我正在使用警报来显示值。
问题可能是什么,或者如果查询绑定了什么,获取totalEntries或验证的更好方法。
一个好的(当发现一些东西的时候):
{"resultsPage":{"results":{"artist":[{"uri":"http:\/\/www.songkick.com\/artists\/462022-britney-spears?utm_source=11548&utm_medium=partner","displayName":"Britney Spears","id":462022,"onTourUntil":null,"identifier":[{"href":"http:\/\/api.songkick.com\/api\/3.0\/artists\/mbid:45a663b5-b1cb-4a91-bff6-2bef7bbfdd76.json","eventsHref":"http:\/\/api.songkick.com\/api\/3.0\/artists\/mbid:45a663b5-b1cb-4a91-bff6-2bef7bbfdd76\/calendar.json","mbid":"45a663b5-b1cb-4a91-bff6-2bef7bbfdd76","setlistsHref":"http:\/\/api.songkick.com\/api\/3.0\/artists\/mbid:45a663b5-b1cb-4a91-bff6-2bef7bbfdd76\/setlists.json"}]},{"uri":"http:\/\/www.songkick.com\/artists\/5034848-hits-of-pink-christina-aguilera-britney-spears-and-motley-crue?utm_source=11548&utm_medium=partner","displayName":"Hits of Pink, Christina Aguilera, Britney Spears and M\u00f6tley Cr\u00fce","id":5034848,"onTourUntil":null,"identifier":[]},{"uri":"http:\/\/www.songkick.com\/artists\/2885106-kimberly-dale-as-britney-spears?utm_source=11548&utm_medium=partner","displayName":"Kimberly Dale As Britney Spears","id":2885106,"onTourUntil":null,"identifier":[]}]},"totalEntries":3,"perPage":50,"page":1,"status":"ok"}}发布于 2012-03-04 16:54:03
您正在迭代"resultsPage“的字段,而不是"resultsPage”本身。我想你的意思是:
alert(json.resultsPage.totalEntries); // Without the "each", you don't need it自己测试一下,把你的代码改成
$.each(json["resultsPage"], function (i, entry) {
alert([i, entry]);
});它会发出警报(没有特定的顺序):
results, [object Object]
totalEntries, 0
perPage, 50
page, 1
status, okhttps://stackoverflow.com/questions/9553543
复制相似问题