2011-08-02 44 views
0

我有一個像這樣的Facebook的JSON響應。從哈希不工作發現uid

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

我保存該結果到@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(未定義的方法'名稱'爲#)'不工作的伴侶。 – Immo

+0

@soldier - 請參閱編輯。使用'itm [「name」]'。 – Casper

+0

感謝隊友。請編輯你的回覆,因爲在Rails中,如果我打印'@ test',它將打印第一個回覆。我必須保存'@test.collect {| itm | itm [「name」]}'在一個新變量中,並打印該變量而不是測試。再次感謝! – Immo