Ruby-转换由&;表示的字符串;陷入混乱
我有一个字符串的形式Ruby-转换由&;表示的字符串;陷入混乱,ruby,string,hash,Ruby,String,Hash,我有一个字符串的形式 str="a=b&c=d&e=f&...." 问题是我如何将上面的str转换成下面的形式 { "a" => "b" , "c" => "d" , "e" => "f" .... } 你可以用这个方法 你可以用这个方法 最简单的答案是: hash = Rack::Utils.parse_query("a=b&c=d&e=f") => {"a"=>"b", "c"=>"d", "e"=>"
str="a=b&c=d&e=f&...."
问题是我如何将上面的str转换成下面的形式
{ "a" => "b" , "c" => "d" , "e" => "f" .... }
你可以用这个方法
你可以用这个方法
最简单的答案是:
hash = Rack::Utils.parse_query("a=b&c=d&e=f")
=> {"a"=>"b", "c"=>"d", "e"=>"f"} #output
如果您想再次恢复,则:
hash.to_query
最简单的答案是:
hash = Rack::Utils.parse_query("a=b&c=d&e=f")
=> {"a"=>"b", "c"=>"d", "e"=>"f"} #output
如果您想再次恢复,则:
hash.to_query
只是出于好奇:
▶ q = "a=b&c=d&e=f"
▶ require 'json'
#⇒ true
▶ JSON.parse "{\"#{q}\"}".gsub /[=&]/, Hash('=' => '":"', '&' => '","')
#⇒ {
# "a" => "b",
# "c" => "d",
# "e" => "f"
#}
有裂缝的直道:
q.split('&').map { |e| e.split('=') }.to_h
只是出于好奇:
▶ q = "a=b&c=d&e=f"
▶ require 'json'
#⇒ true
▶ JSON.parse "{\"#{q}\"}".gsub /[=&]/, Hash('=' => '":"', '&' => '","')
#⇒ {
# "a" => "b",
# "c" => "d",
# "e" => "f"
#}
有裂缝的直道:
q.split('&').map { |e| e.split('=') }.to_h
这是一个偶然的HTTP参数字符串吗?如果您在web框架的上下文中执行此操作,将有一种内置的方法来处理此问题。这是一个偶然的HTTP参数字符串吗?如果您在web框架的上下文中执行此操作,将有一种内置的方法来处理此问题。