我是 Ruby 的新手,需要访问 MongoDB 数据库并从搜索中返回一些信息。到目前为止,我可以获得所需的记录,但我很难从返回的嵌套哈希中提取信息。
hash = {"Skills" => [{"_id" => 200, "description" => "Running"}, {"_id" => 201, "description" => "Jumping"}]}
这是返回的散列。我可以访问所需的哈希值,但似乎无法仅提取我需要的“Running”和“Jumping”字符串。
我试过了
puts hash["Skills"]
但我只是得到:
{"_id"=>200, "description"=>"Running"}
{"_id"=>201, "description"=>"Jumping"}
我需要返回的是:
"Running"
"Jumping"
我原以为以下方法会奏效:
puts hash["Skills"]["Description"]
最佳答案
如果仔细观察,散列的 Skills
键是一个数组,而不是另一个散列。因此,您可以使用 Array#map
来实现您的解决方案。 :
hash['Skills'].map { |s| s['description'] }
# => ["Running", "Jumping"]
关于ruby - 从 Ruby 中的 MongoDB 嵌套哈希中提取正确的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45019558/