2011-08-02 6 views
0

FacebookのJSONレスポンスがこのように好きです。ハッシュからuidを検索できない

[ 
{"uid"=>123, "name"=>"Test", "is_app_user"=>true}, 
{"uid"=>1234, "name"=>"Test1", "is_app_user"=>true} 
] 

Iは@Testした後には、この結果を保存:

@test.select {|k,v| k == "name"}} 

をしかし、結果は、代わりに、所望の結果の空の配列である:

[] 

所望の出力(1)

[{"name" => "Test"}, { "name" => "Test1"}] 

そして(2)

[Test, Test1] * This will be used to query the database 

お勧めはありますか?ありがとう。

+0

1: '@ test.class'は何を返しますか? 2:選択ブロックの中に 'k'と' v'を印刷しようとしましたか?もしそうでなければ、正しい方向に向けるべきです。 – Casper

+0

希望の結果は何ですか? – emboss

+0

@ test = Jsonは上記のように応答します。 – Immo

答えて

3
@test = [ 
    {"uid"=>123, "name"=>"Test", "is_app_user"=>true}, 
    {"uid"=>1234, "name"=>"Test1", "is_app_user"=>true} 
] 

@test.collect { |itm| itm["name"] } 

=> ["Test", "Test1"] 
+0

'NoMethodError(未定義のメソッド' name 'は#<ハッシュ:0x00000004e25848>) 'not working mate。 – Immo

+0

@soldier - 編集を参照してください。 'itm [" name "]'を使ってください。 – Casper

+0

ありがとう。あなたが '@test'を印刷すると、最初の応答を出力しているので、あなたの応答を少し編集してください。' @test.collect {| itm | itm ["name"]} 'を新しい変数に追加し、testではなくその変数を出力します。再度、感謝します! – Immo

関連する問題