如何从Goodreads导航JSONP?

时间:2017-01-19 19:46:33

标签: javascript arrays json object jsonp

我正在尝试从Goodreads的API获取数据以显示图书的评分,但我遇到了障碍。

从这个网址(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的是“未定义”一词。

我猜我的问题与我如何导航数组/对象有关。

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

以下解决了我的问题:

result[0].average_rating;

我现在意识到我试图在数组中导航,因此需要引用索引号[0]。感谢@dandavis的回答!