0

例如向 Twitter 发出请求: https ://api.twitter.com/1/users/show.json?screen_name=stephenfry&include_entities=true

我可以使用以下方法提取像 follower_count 这样的元素result["followers_count"]

我尝试了对 LastFM 的类似请求,但他们的 JSON 结构不同,因为它是他们默认 XML 的翻译。

通过他们的演示请求: http ://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=Cher&api_key=b25b959554ed76058ac220b7b2e0a026&format=json

我将如何获得听众的价值?

我试过了

result["listeners"]

result["artist.listeners"]

result["artist.stats.listeners"]

我知道我需要访问一个节点,但不知道如何去做。

任何人都可以帮忙吗?

4

2 回答 2

1

这是一个嵌套哈希,因此您可以通过以下方式访问它:

result["artist"]["stats"]["listeners"]

例子:

require('open-uri')
require('json')

result = JSON.parse(open('http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=Cher&api_key=b25b959554ed76058ac220b7b2e0a026&format=json').read)
result["artist"]["stats"]["listeners"].to_i
于 2012-05-18T13:37:51.547 回答
0

Last.fm 数据是一系列嵌套的哈希,因此您需要这样访问它们。尝试以下方法,它应该可以解决问题:

result["artist"]["listeners"]
于 2012-05-18T13:35:21.227 回答