【发布时间】:2014-01-15 18:43:14
【问题描述】:
我需要从旧版 SQL Server 数据库中提取数据并将其转换为 JSON。我已经编写了 SQL 查询(对于我正在替换的旧版报告),这些查询准确地提取了我需要的内容。
将 ActiveRecord 对象转换为 JSON(和 CSV)当然很容易,但我没有看到任何好的方法来做我需要做的事情,因为所有涉及原始 SQL 的 ActiveRecord 方法似乎都旨在返回ActiveRecord 对象,并且这些数据在逻辑上不一定对应于一个类,我不需要将它持久化到任何其他地方。我只想执行 SQL 查询并返回 JSON 和 CSV 并完成它。
【问题讨论】:
-
这个railscasts.com/episodes/362-exporting-csv-and-excel有一个railscast
-
如果你不做rails,ruby 有一个成熟的
csv库和一个成熟的json库,它们非常简单 -
如果您的查询返回一个活动记录对象的列表/数组(我认为它应该这样做),那么您只需对列表中的每个元素调用
attributes方法将其转换为您现在可以轻松转换为 JSON 或 CSV 的哈希,或者您可以直接在 activerecord 对象上调用to_json,它会变成一个 json 对象 -
我已移动 this discussion to chat。让我们在这里删除 cmets。
标签: ruby-on-rails ruby activerecord sequel ruby-datamapper