Ruby 有没有办法在json结构上进行正则表达式查询';谁的钥匙?

Ruby 有没有办法在json结构上进行正则表达式查询';谁的钥匙?,ruby,json,Ruby,Json,假设我有一个json结构列表,比如 {“S1”=>“foo”、“R2”=>“bar”、“S2”=>“baz”} 我想得到“S*”键的数据 你用ruby怎么做?有没有办法完成这样的任务 谢谢,用于选择所需的键/值对: { "S1" => "foo", "R2" => "bar", "S2" => "baz" }.select{|k,v| k =~ /^S/} 如果您使用的是Ruby 1.9/2.0,那么结果就是所需的哈希。但是,在Ruby 1.8中,这将返回一个数组数组-您可以

假设我有一个json结构列表,比如

{“S1”=>“foo”、“R2”=>“bar”、“S2”=>“baz”}

我想得到“S*”键的数据

你用ruby怎么做?有没有办法完成这样的任务

谢谢,

用于选择所需的键/值对:

{ "S1" => "foo", "R2" => "bar", "S2" => "baz" }.select{|k,v| k =~ /^S/}
如果您使用的是Ruby 1.9/2.0,那么结果就是所需的哈希。但是,在Ruby 1.8中,这将返回一个数组数组-您可以使用
Hash[]
将其包装为哈希:

start = { "S1" => "foo", "R2" => "bar", "S2" => "baz" }
Hash[start.select{|k,v| k =~ /^S/}]

假设您已经将json解析为散列,可以通过以下方式完成:

{ "S1" => "foo", "R2" => "bar", "S2" => "baz" }.select {|k,v| k.match /^S.*/}
如果这仍然是json,则必须先使用json.parse

require "json"
JSON.parse(your_json)

*
在这里似乎是无关的。。。解析JSON字符串的要点很好,我认为这是一个事实。谢谢大家,我把答案归功于PinnyM,因为他是第一个响应的人。是的,在我更正之前,PinnyM正则表达式也比我的要好:)