首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义读取JSON

未定义读取JSON
EN

Stack Overflow用户
提问于 2012-03-04 16:45:52
回答 1查看 124关注 0票数 0

我得到了这段代码来获得一个json对象,这样就行了。

代码语言:javascript
复制
$.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);
    });
});

当我执行代码时,当没有艺术家的数据时,我会得到这样的结果:

代码语言:javascript
复制
?({"resultsPage":{"results":{},"totalEntries":0,"perPage":50,"page":1,"status":"ok"}})

我想要的是获得totalEntries的值来验证是否有一些数据,但我一直没有定义。我正在使用警报来显示值。

问题可能是什么,或者如果查询绑定了什么,获取totalEntries或验证的更好方法。

一个好的(当发现一些东西的时候):

代码语言:javascript
复制
{"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"}}
EN

回答 1

Stack Overflow用户

发布于 2012-03-04 16:54:03

您正在迭代"resultsPage“的字段,而不是"resultsPage”本身。我想你的意思是:

代码语言:javascript
复制
alert(json.resultsPage.totalEntries); // Without the "each", you don't need it

自己测试一下,把你的代码改成

代码语言:javascript
复制
$.each(json["resultsPage"], function (i, entry) {
    alert([i, entry]);
});

它会发出警报(没有特定的顺序):

代码语言:javascript
复制
results, [object Object]
totalEntries, 0
perPage, 50
page, 1
status, ok
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9553543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档