将哈希数组解析为javascript

时间:2014-06-24 11:47:31

标签: ruby-on-rails arrays json parsing

在Rails中,我想将下面的数组解析为JSON:

[{:title=>"eltitulo", :start=>"2014-06-12", :end=>"2014-06-14"}]

我曾尝试使用@myarray.to_json。我该怎么办?

1 个答案:

答案 0 :(得分:3)

听起来你想要一个ruby数组的JSON表示。您拨打.to_json即可走上正轨。

[1] pry(main)> a = [{:title=>"eltitulo", :start=>"2014-06-12", :end=>"2014-06-14"}]
=> [{:title=>"eltitulo", :start=>"2014-06-12", :end=>"2014-06-14"}]
[2] pry(main)> a.to_json
=> "[{\"title\":\"eltitulo\",\"start\":\"2014-06-12\",\"end\":\"2014-06-14\"}]"

正如您所看到的,.to_json调用已将ruby数组转换为JSON字符串。现在,如果您想将此JSON字符串转换为JavaScript,则需要使用ERB将其输出到脚本块中:

<script type="text/javascript">
  my_objects = jQuery.parseJSON(<%=raw @myarray.to_json %>);
</script>

jQuery.parseJSON()位假设您正在使用jQuery,并且来自this StackOverlfow post

您可能还想查看使用例如gon gem用于将数据从控制器传递到您的javascript。