2014-04-12 61 views
0

我有一個網絡電臺如何處理服務器使用ruby返回的json文件?

require 'open-uri' 
rquiire 'json' 
songlist=open('http://douban.fm/j/mine/playlist?type=n&channel=0') 
##this will return a json file: 
##{"r":0,"song" [{"album":"\/subject\/25863639\/","picture":"http:\/\/img5.douban.com\/mpic\/s27256956.jpg","ssid":"7656","artist":"Carousel Kings","url":"http:\/\/mr3.douban.com\/201404122019\/660a1b4494a255e0333dfdc9ffadcf08\/view\/song\/small\/p2055547.mp3","company":"Not On Label","title":"Silence","rating_avg":3.73866,"length":194,"subtype":"","public_time":"2014","sid":"2055547","aid":"25863639","sha256":"ebf027adfaf9882118456941a774eeb509c29c4c278f55f587ba2faaa858a49d","kbps":"64","albumtitle":"Unity","like":false}] 

我想這樣song[0]['url'], song[0]['title'],song[0]['album']的信息,並在終端使用smplayer播放由URL所指向的歌曲JSON文件的回報。

我怎麼用紅寶石做到這一點?

謝謝。

回答

2

我會用JSON.parse如下

require 'open-uri' 
require 'json' 

songlist = open('http://douban.fm/j/mine/playlist?type=n&channel=0').read 
parsed_songlist = JSON.parse(songlist) 
parsed_songlist["song"][0]["url"] #=> "http:\/\/mr3.douban.com\/201404122019\/660a1b4494a255e0333dfdc9ffadcf08\/view\/song\/small\/p2055547.mp3" 
parsed_songlist["song"][0]["title"] #=> "Silence" 
相關問題