2011-07-26 61 views
1

我正在開發一個Facebook應用程序,我想向用戶展示信息,如果他們的朋友也使用該應用程序。準備JSON響應查詢數據庫

,我發現我的方式來獲取在使用以下格式的應用程序的用戶的朋友:

[ 
{ 
    "uid":1234, 
    "name":"Friend Name1", 
    "is_app_user":true 
}, 
{ 
    "uid":12345, 
    "name":"Friend Name 2", 
    "is_app_user":true 
} 
] 

我只需要與UID的數組來查詢我的用戶數據庫。有人可以提供有關如何準備上述JSON對象的有效示例嗎?

我希望能夠使用:

User.find_all_by_uid(uids) 

感謝

回答

1

這應該讓你對你的方式。

做:

gem install json 

檢查:http://flori.github.com/json/的細節

這裏是你的要求,讓你的ID陣列的例子:

require 'rubygems' 
require 'json' 

def parse 

    data = '[{"uid":1234,"name":"Friend Name1","is_app_user":true},{"uid":12345,"name":"Friend Name 2","is_app_user":true}]' 
    result = JSON.parse(data) 

    uids = [] 
    result.each do |result| 
     result.each do|key ,value| 
     uids .push(value) if key == "uid" 
    end 
    end 

    puts uids 

end 

parse 

希望幫助!

+0

你能爲我提供一個代碼示例? – Immo

+0

當然,讓我爲你做一個:P – Shaunak

+0

loool。非常感謝。 – Immo

0

User.where(:ID => your_array.collect {| U | u.uid.to_i})

+0

是那麼簡單? – Immo

+0

@Ranchersam:你寫的步驟是在json數據在數組之後。他還沒有解析過JSON。 – Shaunak