准备json响应查询数据库

时间:2011-07-26 22:02:21

标签: ruby-on-rails ruby ruby-on-rails-3

我正在开发一个Facebook应用程序,如果他们的朋友也在使用该应用程序,我想向用户提供信息。

我发现我可以通过以下格式获取正在使用该应用程序的用户的朋友:

[
 {
  "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 )

谢谢

2 个答案:

答案 0 :(得分: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

希望有所帮助!

答案 1 :(得分:0)

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