如何将数组转换为JSON对象

时间:2013-09-30 20:57:03

标签: ruby-on-rails ruby

我是ROR的新手,我有一些种子数据存储在我的数据库表和YAML文件中。我一直在加载yaml文件并将其转换为JSON,我将其解析并显示给客户端。

像这样的东西。

controller.rb

def template_library
    @template_library_all= YAML::load(File.open('./db/seeds/template_library.yml'))
end

在我看来,我做了

reports.html.slim

javascript:
  var templateLibraryJSON = #{@template_library_all.to_json.html_safe};

所以现在我想使用该模型从数据库中获取数据并将其解析为JSON,而不是使用静态文件。

到目前为止我做了什么。

def query_library
@template_library_JSON = TemplateLibrary.all.map { |i| ['file_name:' , [i.file_name]]}
end
我认为

javascript:
  var templateJSON = #{@template_library_JSON.to_json.html_safe};

这会返回一个看起来像JSON数组的JSON。

[["file_name:", ["daily_data_count_report"]]]

我是否必须构造JSON对象?

1 个答案:

答案 0 :(得分:1)

看起来你的#map调用返回一个数组数组,而不是一个哈希。试试这个:

@template_library_JSON = TemplateLibrary.all.map { |i| { :file_name => i.file_name } }