2012-05-18 105 views
0

隨着到Twitter的要求,例如: https://api.twitter.com/1/users/show.json?screen_name=stephenfry&include_entities=true從節點提取JSON數據?

我可以提取像FOLLOWERS_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"]

我明白我需要訪問一個節點,但不知道如何去做。

誰能幫助?

回答

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 
0

Last.fm數據是一系列嵌套散列,因此您需要像這樣訪問它們。給下面的一個嘗試,它應該做的伎倆:

result["artist"]["listeners"]