2016-05-08 9 views
-2

私はそういうハッシュを持っています。ハッシュの配列を反復する

h = {"name"=>"United States House of Representatives TX-21", 
    "divisionId"=>"ocd-division/country:us/state:tx/cd:21", 
    "levels"=>["country"], 
    "roles"=>["legislatorLowerBody"], 
    "officials"=>[{"name"=>"Lamar Smith", 
        "address"=>[ 
         {"line1"=>"2409 rayburn house office building", 
         "city"=>"washington", 
         "state"=>"DC", 
         "zip"=>"20515" 
         } 
        ], 
        "party"=>"Republican", 
        "phones"=>["(202) 225-4236"], 
        "urls"=>["http://lamarsmith.house.gov/"], 
        "photoUrl"=>"http://...", 
        "channels"=>[ 
         {"type"=>"Facebook", "id"=>"LamarSmithTX21"}, 
         {"type"=>"Twitter", "id"=>"LamarSmithTX21"}, 
         {"type"=>"YouTube", "id"=>"lamarsmithtexas21"} 
        ] 
        } 
        ] 
    } 

私はlevelsハッシュ== country場合@nationalOfficesと呼ばれる別の配列にこの配列をプッシュしますif文を実行しようとしています。問題は、レベルハッシュの値が配列であることです。私はこれを行う方法がわかりません。アドバイスをいただければ幸いです。

+0

ハッシュ(配列ではない)を理解できるように再フォーマットしましたが、わからないので最後の段落は何もしませんでした。例を挙げるときは、次の3つのことを行う必要があります。1.例のサイズを必要最小限にしてポイントを作成します。あなたの期待された、または望ましい出力を示す。 3.各入力オブジェクトに変数を代入します(例:上記のように 'h = {...} ')。これにより、読者は答えを定義しなくてもそれらの変数(ここでは' h')を参照することができますそれら。 –

+0

あなたはここで混乱している方法で単語配列を使用しています。配列の内側にあるこのハッシュは多くのものですか? 「この配列を別の配列にプッシュする」と言うと、このハッシュを '@ nationalOffices'にプッシュすることを意味しますか?あなたが作業している実際のデータについてより多くのコンテキストを与えてください。 –

答えて

0

ハッシュに深く入り込むことでアクセスできます。 array[0]["levels"]。おそらく、このAPIレスポンスを変数に保存してから、そのAPIに応答する必要があります。
あなたはハッシュと配列の詳細についてはしたい場合は、これはかなり良いチュートリアルです:http://www.tutorialspoint.com/ruby/ruby_hashes.htm

0

@nationalOffices < < my_arrayで==レベルであれば国? :#else statement goes here