2013-11-11 2 views
1

У меня есть хэш:Доступ вложенных хэш-значения

request = {"AutoCreate"=>{"Response"=>{"Status"=>"OK", "StatusCode"=>"0", "TransactionStatus"=>"SUCCEEDED", "TransactionReference"=>"MxhRNvs5EuJLTEkhKqO5Olgk2zMtYMTOI0IvQInWPV8EYsWAI7Aji09B3B8Bigzkee20e3bc4bd9eab997d7825b883b7359"}}} 

Как я могу получить доступ к хэш-значения "Status", "StatusCode" и "TransactionStatus"?

ответ

5
result["AutoCreate"]["Response"]["Status"] 
result["AutoCreate"]["Response"]["StatusCode"] 
result["AutoCreate"]["Response"]["TransactionStatus"] 
+1

Когда я ч ave, чтобы пройти через вложенные хеши, я обычно использую 'fetch', чтобы получить ошибку, а не' nil'. Но это просто предпочтение :) – PericlesTheo

+1

@sawa Спасибо, я только что понял это. Действительно, я устал. – acacia

2

Для доступа Статус

result['AutoCreate']['Response']['Status'] 

для доступа StatusCode

result['AutoCreate']['Response']['StatusCode'] 

и TransactionStatus

result['AutoCreate']['Response']['TransactionStatus'] 
1
vals_to_get = ["Status", "StatusCode", "TransactionStatus"] 
p request["AutoCreate"]["Response"].values_at(*vals_to_get) #=> ["OK", "0", "SUCCEEDED"] 
Смежные вопросы