在Rails中,我想将下面的数组解析为JSON:
[{:title=>"eltitulo", :start=>"2014-06-12", :end=>"2014-06-14"}]
我曾尝试使用@myarray.to_json
。我该怎么办?
答案 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。