ruby - 如何从 mongodb ruby​​ 驱动程序打印 JSON?

标签 ruby json mongodb

当我从 mongodb JavaScript 控制台执行查找查询时,我得到了一个漂亮的 JSON 响应。但是,当我使用 ruby​​ 驱动程序进行查找时,它将 JSON 存储为某个 Ruby 对象。如何将其转换回 JSON?或者,更好的是,如何在不进行额外转换的情况下获取 JSON?

最佳答案

我成功了。我将 ruby​​-1.9.1-p378 与 rvm 一起使用。我删除了它。现在,我使用的是 SnowLeopard 安装 DVD 附带的系统 ruby​​-1.8.7-p174。但是,我仍然收到 to_json 方法的错误,除了这次它说,堆栈级别太深。我做了:

require 'json/pure'

而不是

require 'json'

然后,我将代码更改为如下所示: http://github.com/banker/mongulator/blob/master/mongulator.rb#L53

这是代码的相关部分:

cursor = persons.find(
  {"loc" => {"$near" => [params[:lat].to_f, params[:lng].to_f]}},
  {:limit => 20})
content_type "application/json"
JSON.pretty_generate(cursor.to_a)

完整的文件在这里: http://github.com/acani/acani-sinatra/blob/master/acani.rb

而且,即使使用像 facebook graph api 给你的漂亮的 json,它也能工作。要在一行中返回全部 JSON,只需执行以下操作:

  cursor.to_a.to_json

关于ruby - 如何从 mongodb ruby​​ 驱动程序打印 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3381358/

相关文章:

c# - 使用 Json.NET 将 JSON 字符串反序列化为对象 C#

java - 将新内容添加到 JSON 文件

json - 如何在 Go 中解析以下 JSON 结构

Ruby TCP/IP 客户端线程

ruby csv 合并单元格

MongoDB $set 数组中不存在对象的项目作为元素导致对象而不是数组

node.js - 推送在 mongoose/mongodb 数组中不起作用

javascript - 如何在 Passport/Node js 中找出 last_login_date

ruby - 为什么 Integer.respond_to?( :even? ) 返回 false?

ruby-on-rails - 用于站点内消息传递的 Ruby Gem? (想想 LinkedIn、Facebook 等)