需要使用Ruby从字符串中获取数据

时间:2014-04-21 10:40:35

标签: ruby-on-rails ruby string ruby-on-rails-3

我有一个如下所述的字符串。

str="[{\"id\":\"100\",\"sal_id\":10009,\"playback_url\":\"http:www.example_com\",\"profile\":\"v5\",\"protocol\":\"ttp\",\"vwidth\":40,\"vheight\":30,\"vbitrate\":1200,\"abitrate\":160,\"status\":\"queue\"}]"

从上面的字符串中我只想采用playback_url值,即http:www.example.com.

我尝试过使用拆分,但它无效。像

str.split("playback_url").join(',')

请帮助我实现这一目标。提前谢谢。

1 个答案:

答案 0 :(得分:5)

试试这个

require 'json'

str="[{\"id\":\"100\",\"sal_id\":10009,\"playback_url\":\"http:www.example_com\",\"profile\":\"v5\",\"protocol\":\"ttp\",\"vwidth\":40,\"vheight\":30,\"vbitrate\":1200,\"abitrate\":160,\"status\":\"queue\"}]"

result = JSON.parse(str)

[{"id"=>"100", "sal_id"=>10009, "playback_url"=>"http:www.example_com", "profile"=>"v5", "protocol"=>"ttp", "vwidth"=>40, "vheight"=>30, "vbitrate"=>1200, "abitrate"=>160, "status"=>"queue"}] 

result.first["playback_url"]
 => "http:www.example_com"