[英]Accessing key value pairs in a hash within a hash with Ruby
我正在針對轉換為哈希的API XML響應編寫測試。 但是,哈希是嵌套的,因此它的行為就像“ Offer”是鍵,其他所有值都是值。 (如下所示)
我希望能夠訪問此哈希中的鍵值對,以便可以使用針對“ Id”,“ Count”等的rspec測試進行斷言。謝謝
{"Offer"=>
{"href"=>"http://xyz",
"links"=>nil,
"Id"=>"1501507",
"Count"=>"5",
"Collected"=>"3",
"Status"=>"INPROGRESS"}}
還有#dig
http://ruby-doc.org/core-2.3.0_preview1/Hash.html#method-i-dig
hash = {
"Offer"=> {
"href" => "http://xyz",
"links" => nil,
"Id" => "1501507",
"Count" => "5",
"Collected" => "3",
"Status" => "INPROGRESS"
}
}
puts hash.dig("Offer", "href")
# => http://xyz
如果
hash = { "Offer"=> { "href" => "http://xyz",
"links" => nil,
"Id" => "1501507",
"Count" => "5",
"Collected" => "3",
"Status" => "INPROGRESS" } }
然后,您可以使用這種表示法:
hash["Offer"]["href"] #=> "http://xyz"
或定義一個新的哈希並使用常規哈希訪問:
new_hash = hash["Offer"]
new_hash #=>
# { "href" => "http://xyz",
# "links" => nil,
# "Id" => "1501507",
# "Count" => "5",
# "Collected" => "3",
# "Status" => "INPROGRESS" }
new_hash["href"] #=> "http://xyz"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.