如何用Ruby解析JSON?

时间:2013-06-08 03:30:34

标签: ruby

我正在使用JSON来解析字符串。鉴于艺术家的名字,我正在使用最古老的API来打印该艺术家的五首歌曲:

require 'net/http'
require 'rubygems'
require 'json'

puts "Enter an artists name:"
artist_name = gets.chomp


file =open(parsed)

url = URI.parse("http://developer.echonest.com/api/v4/artist/songs?    api_key=RYOXFCWIBV9IM0XCU&name=#{artist_name}&format=json&start=0&results=5")
res = Net::HTTP.get_response(url)

#puts res.body

parsed = JSON.parse(res.body)


parsed{'songs'}.each do |song| 
puts song{'title'} 
end

2 个答案:

答案 0 :(得分:3)

取出file = open(parsed)行。无论如何,那是什么?

同样,在Ruby中,使用[key]访问哈希,而不像其他语言(如Perl)访问{key}

parsed['response']['songs'].each do |song| puts song['title'] end

答案 1 :(得分:1)

您不需要打开已经解析过的JSON,只需重复它即可。同时将{替换为[

parsed["response"]["songs"].each do |song|
    p song["title"]
end