如何从 Goodreads 导航 JSONP?
How to Navigate JSONP from Goodreads?
我正在尝试从 Goodreads 的 API 获取数据以显示一本书的评分,但我 运行 遇到了障碍。
从这个 URL (https://www.goodreads.com/book/review_counts.json?isbns=9781630586799&key=YOUR_KEY&callback=myCallback
),我从 Goodreads 收到以下 JSONP 数据:
myCallback([{
"id":22571333,
"isbn":"163058679X",
"isbn13":"9781630586799",
"ratings_count":657,
"reviews_count":2288,
"text_reviews_count":138,
"work_ratings_count":835,
"work_reviews_count":2596,
"work_text_reviews_count":155,
"average_rating":"3.93"
}])
这是我的 javascript:
function myCallback(result) {
document.getElementById('goodreads-rating').innerHTML = result.average_rating;
}
var scriptTag = document.createElement('script');
scriptTag.src = "https://www.goodreads.com/book/review_counts.json?isbns=9781630586799&key=YOUR_KEY&callback=myCallback";
document.getElementsByTagName('head')[0].appendChild(scriptTag);
我要检索的数据是average_rating
。但是,输出到 HTML 的是单词 "undefined".
我猜我的问题与我在 array/object.
中的导航方式有关
有人知道我做错了什么吗?
以下解决了我的问题:
result[0].average_rating;
我现在意识到我正在尝试在数组中导航,因此需要引用索引号 [0]
。感谢@dandavis 的回答!
我正在尝试从 Goodreads 的 API 获取数据以显示一本书的评分,但我 运行 遇到了障碍。
从这个 URL (https://www.goodreads.com/book/review_counts.json?isbns=9781630586799&key=YOUR_KEY&callback=myCallback
),我从 Goodreads 收到以下 JSONP 数据:
myCallback([{
"id":22571333,
"isbn":"163058679X",
"isbn13":"9781630586799",
"ratings_count":657,
"reviews_count":2288,
"text_reviews_count":138,
"work_ratings_count":835,
"work_reviews_count":2596,
"work_text_reviews_count":155,
"average_rating":"3.93"
}])
这是我的 javascript:
function myCallback(result) {
document.getElementById('goodreads-rating').innerHTML = result.average_rating;
}
var scriptTag = document.createElement('script');
scriptTag.src = "https://www.goodreads.com/book/review_counts.json?isbns=9781630586799&key=YOUR_KEY&callback=myCallback";
document.getElementsByTagName('head')[0].appendChild(scriptTag);
我要检索的数据是average_rating
。但是,输出到 HTML 的是单词 "undefined".
我猜我的问题与我在 array/object.
中的导航方式有关有人知道我做错了什么吗?
以下解决了我的问题:
result[0].average_rating;
我现在意识到我正在尝试在数组中导航,因此需要引用索引号 [0]
。感谢@dandavis 的回答!