在Ruby(和JSON gem)中过滤JSON.parse响应的结果

时间:2009-11-15 05:13:19

标签: ruby json

在我正在构建的一个小应用程序中,我正在使用twitter_oauth gem(source of the methods I'm using),这意味着我正在处理JSON ruby​​ gem。

我正在使用messages方法,其来源如下:

def messages(page=1)
      oauth_response = access_token.get("/direct_messages.json?page=#{page}")
      JSON.parse(oauth_response.body)
end

它使用JSON.parse方法解析Twitter生成的JSON。现在,我想要做的是过滤响应,以便只显示某个用户发送的消息。换句话说,我希望能够以每个用户为基础获取帐户消息。

我浏览了JSON gem文档,但找不到一个简单的方法来做到这一点。我通常不使用JSON(我更喜欢XML),但由于Twitter_oauth gem依赖于它,我不得不学习它(除非我更改gem的源代码或覆盖它 - 不是我的偏好)。

有没有人知道在Ruby中对JSON进行排序的实用方法?

1 个答案:

答案 0 :(得分:2)

为什么你必须使用JSON? JSON.parse为你提供了反序列化的结构(Ruby数组和散列),所以你所要做的就是(我假设你没有在这里粘贴样本JSON输出)是对任何输出selectJSON.parse 1}}(或者,在您的情况下,messages)方法返回。