我試圖從last.fm獲取一些數據並在簡單的sinatra應用程序中使用它。我已經制定了如何打開文檔,但是在使用ruby提取數據時出現的問題是我想要獲取的API數據的第一個列表:從Ruby遠程API提取JSON值
{「similarartists」:{「artist 「:[{」 Name 「:」 桑尼&雪兒「}]}
這只是返回的提取物,我在我的RB文件中使用這樣的:
require 'json'
require 'open-uri'
data = JSON.parse(open("http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&artist=editors&api_key=xxx&format=json").read)
puts data["similarartists"]["artist"]["name"]
一點也沒有似乎沒有工作我得到不能將字符串轉換爲整數(類型錯誤)在紅寶石1.9.3但名稱在JS ON不是一個整數?如果我只是把以下內容:
puts data["similarartists"]["artist"]
它返回整個事情,但我想抓住裏面的名稱。
"name"=>"Interpol"
我不明白爲什麼它會抱怨整數,當名稱是一個字符串?希望可以有人幫幫我!
是什麼'data'看起來像您嘗試訪問'數據[ 'similarartists'] [ '藝術家'] [ '名']'過嗎?你確定你正在獲取存儲在'data'中的JSON嗎? –
我剛剛完成了一個投入數據,這裏是一個片段開始{「similarartists」=> {「artist」=> [{「name」=>「Interpol」,「mbid」=>「b23e8a63-8f47- 4882-b – calabi
你在mbid的末尾是否缺少'「'?希望我可以測試這個,但我沒有Last.FM API密鑰。 –