我试图从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密钥。 –